generated from mwc/project_game
Update #2, making some progress after being stuck
This commit is contained in:
66
gamefiles/board.py
Normal file
66
gamefiles/board.py
Normal file
@@ -0,0 +1,66 @@
|
||||
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
|
||||
Reference in New Issue
Block a user