create a game board class
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
|
||||
class GameBoard:
|
||||
def __init__(self, game_id:str, width:int, height:int, type:str, snake_class):
|
||||
self.id = game_id
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.type = type
|
||||
self.snake_class = snake_class
|
||||
|
||||
# What will get Stored
|
||||
|
||||
|
||||
def _set_snakes(self, snakes:list[dict]):
|
||||
self.other_snakes = [ x for x in snakes if x["id"] != self.my_snake["id"] ]
|
||||
|
||||
def _set_my_snake(self, my_snake:str):
|
||||
self.my_snake = my_snake
|
||||
|
||||
def _set_food(self, food:list[dict]):
|
||||
self.food = food
|
||||
|
||||
def _set_hazards(self, hazards:list[dict]):
|
||||
self.hazards = hazards
|
||||
|
||||
def _set_turn(self, turn:int):
|
||||
self.turn = turn
|
||||
|
||||
def get_other_snakes(self):
|
||||
return self.other_snakes
|
||||
|
||||
def get_my_snake(self):
|
||||
return self.my_snake
|
||||
|
||||
def get_food(self):
|
||||
return self.food
|
||||
|
||||
def get_hazard(self):
|
||||
return self.hazards
|
||||
|
||||
def get_turn(self):
|
||||
return self.turn
|
||||
|
||||
def get_dimension(self):
|
||||
return {"width": self.width, "height": self.height}
|
||||
|
||||
def get_width(self):
|
||||
return self.width
|
||||
|
||||
def get_height(self):
|
||||
return self.height
|
||||
|
||||
def get_type(self):
|
||||
return self.type
|
||||
|
||||
def get_my_snake_head(self):
|
||||
return self.my_snake["head"]
|
||||
|
||||
def get_my_snake_body(self):
|
||||
return self.my_snake["body"]
|
||||
|
||||
def get_my_snake_tail(self):
|
||||
return self.my_snake["body"][-1]
|
||||
|
||||
def read_game_data(self, game_data:dict):
|
||||
self._set_food(game_data['board']['food'])
|
||||
self._set_hazards(game_data['board']['hazards'])
|
||||
|
||||
self._set_my_snake(game_data['you'])
|
||||
self._set_snakes(game_data['board']['snakes'])
|
||||
|
||||
self._set_turn(game_data["turn"])
|
||||
|
||||
def snake_neat_make_a_move(self):
|
||||
return self.snake_class.choose_move(self)
|
||||
Reference in New Issue
Block a user