From 74b1e79a90807669f8def1414c77008ad6eabcff Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Sat, 13 Apr 2024 02:37:05 +0200 Subject: [PATCH] store what snake win the game --- server/GameStorage.py | 9 ++++++++- server/Server.py | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/GameStorage.py b/server/GameStorage.py index 7bed363..fdb93b1 100644 --- a/server/GameStorage.py +++ b/server/GameStorage.py @@ -20,6 +20,12 @@ class GameStorage: self.game_board.append(game_board) self.snake_history = snake_history_state + def set_winner_snake_name(self, snakes:list[dict]): + if self.start_position["id"] in [ x["id"] for x in snakes]: + self.winner_snake_names = "me" + else: + self.winner_snake_names = [ x["name"] for x in snakes] + def save(self, path:str, callback=None, **kwargs): save_file(os.path.join(self.folder, path), { "snake": { @@ -31,5 +37,6 @@ class GameStorage: "snake_start": self.start_position, "gameboard": self.game_board, "my_moves": self.moves, - } + }, + "winner": self.winner_snake_names, }, callback=callback, **kwargs) diff --git a/server/Server.py b/server/Server.py index 8f7538c..f3919a0 100644 --- a/server/Server.py +++ b/server/Server.py @@ -94,9 +94,10 @@ class Server: def _end(self, game_state:dict): if self.store_game_state: self.game_state_storage.add_end_state(game_state["board"], self.snake.get_history()) + self.game_state_storage.set_winner_snake_name(game_state["board"]['snakes']) self.game_state_storage.save( f"{self.snake.__class__.__name__}_{datetime.now().strftime('%d.%m.%Y_%H%M%S')}_{game_state['game']['id']}.json", callback=json.dump, indent=2, ensure_ascii=False ) - print("GAME OVER\n") + print("GAME OVER:\n- Winner is", [ x["name"] for x in game_state["board"]['snakes']])