create a game board class

This commit is contained in:
2024-04-18 22:20:07 +02:00
parent 87690177a5
commit c26824aeaf
+74
View File
@@ -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)