def save_game(player: Entity, dungeon: Dict, message_log: MessageLog, game_state: GameState, current_level: int): with open("save_data", mode="w") as f: dungeon[current_level].entities.remove(player) game_data = { "player": player.to_json(), "dungeon": { dungeon_level: game_map.to_json() for dungeon_level, game_map in dungeon.items() }, "message_log": message_log.to_json(), "game_state": game_state.value, "current_level": current_level } json.dump(game_data, f)
def save_game(player: Entity, entities: List[Entity], game_map: GameMap, message_log: MessageLog, game_state: GameStates): player_index = entities.index(player) entities_json_data = [entity.to_json() for entity in entities] game_map_json_data = game_map.to_json() message_log_json_data = message_log.to_json() game_state_json_data = game_state.value json_data = { 'player_index': player_index, 'entities': entities_json_data, 'game_map': game_map_json_data, 'message_log': message_log_json_data, 'game_state': game_state_json_data } with open('save_game.json', 'w') as save_file: json.dump(json_data, save_file, indent=4)