Пример #1
0
                parsed_levels[1:]):
            raise ValueError("invalid levels file format")
        for i in range(1, len(parsed_levels)):
            level = parsed_levels[i]
            floors.append(JLevel.floorMaker(json.loads(level)))
        if args.start > len(floors) or args.start < 1:
            raise ValueError("invalid floor index")

        start_level_index = args.start - 1
        init_gamestate = GameState(floors)
        init_gamemanager = GameManager(init_gamestate, server, parsed_levels)
        for player in server.list_of_players:
            init_gamemanager.register_player_user(player)
        if args.observe == 1:
            init_gamemanager.register_observer(Observer(-1))
        init_gamemanager.set_starting_level(1)
        init_gamemanager.start_game()
        key_dict_1, exit_dict_2, eject_dict_3 = init_gamestate.get_stats()
        key_dict, exit_dict, eject_dict = ({
            **key_dict,
            **key_dict_1
        }, {
            **exit_dict,
            **exit_dict_2
        }, {
            **eject_dict,
            **eject_dict_3
        })
        init_gamemanager.leaderboard_stats(key_dict, exit_dict, eject_dict)
        replay = server.ask_head_for_replay()
    server.close()