36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
from server.Files import save_file
|
|
import os
|
|
|
|
class GameStorage:
|
|
def __init__(self, snake:str, path:str):
|
|
self.snake_type = snake
|
|
self.folder = path
|
|
|
|
def start_new_game(self, game_type:dict, game_board:dict, snake:dict):
|
|
self.game_type = game_type
|
|
self.start_position = snake
|
|
self.game_board = [game_board]
|
|
self.moves = []
|
|
|
|
def add_moves(self, game_board:dict, my_move:str):
|
|
self.game_board.append(game_board)
|
|
self.moves.append(my_move)
|
|
|
|
def add_end_state(self, game_board:dict, snake_history_state:list[dict]):
|
|
self.game_board.append(game_board)
|
|
self.snake_history = snake_history_state
|
|
|
|
def save(self, path:str, callback=None, **kwargs):
|
|
save_file(os.path.join(self.folder, path), {
|
|
"snake": {
|
|
"type": self.snake_type,
|
|
"choices": self.snake_history,
|
|
},
|
|
"game": {
|
|
"type": self.game_type,
|
|
"snake_start": self.start_position,
|
|
"gameboard": self.game_board,
|
|
"my_moves": self.moves,
|
|
}
|
|
}, callback=callback, **kwargs)
|