from man import Man from snack import Snack from mine import Mine from random import shuffle from retro import game class Board: def __init__(self,width, height,num_snacks,num_mines): self.width = width self.height = height self.num_snacks = num_snacks self.num_mines = num_mines def get_agents(self,num_snacks,num_mines): all_positions = self.get_all_positions() shuffle(all_positions) man= [Man(all_positions[0])] snacks = [Snack(p) for p in all_positions[1:(num_snacks+1)]] mines = [Mine(p) for p in all_positions[(num_snacks + 2):(num_snacks + num_mines +2)]] agents = man + snacks + mines return agents ''' def get_agents(self,num_snacks,num_mines): man = self.get_man(num_snacks,num_mines) snacks = self.get_snacks(num_snacks) mines = self.get_mines(num_mines,num_snacks) agents = snacks + mines + man return agents def get_man(self,num_snacks,num_mines): #man_location = [Man(all_positions[0])] #return man_location shuffle(all_positions) for position in all_positions: #if position in self.get_snacks(num_snacks): # all_positions.remove(position) if position in self.get_mines(num_mines,num_snacks): all_positions.remove(position) man_location = [Man(all_positions[0])] return man_location def get_mines(self,num_mines, num_snacks): all_positions = self.get_all_positions() shuffle(all_positions) for position in all_positions: if position in self.get_snacks(num_snacks): all_positions.remove(position) mines = [Mine(p) for p in all_positions[1:num_mines+1]] return mines def get_snacks(self,num_snacks): all_positions = self.get_all_positions() shuffle(all_positions) snacks = [Snack(p) for p in all_positions[1:num_snacks+1]] return snacks ''' def get_all_positions(self): positions=[] for i in range(self.width): for j in range(self.height): positions.append((i,j)) return positions