Beispiel #1
0
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)
Beispiel #2
0
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)