示例#1
0
def next_game_rr(num):
    # m_list = []
    all_games = []
    print_rr_table()
    total_games = int((num * ((1 + num) / 2)) - num)
    i = 1
    for x in range(0, num - 1):
        for y in range(i, num):
            m_list = [players[x], players[y]]
            all_games.append(m_list)
        i += 1
    shuffle(all_games)
    sorted_list = sort_played(all_games)
    for x in range(0, total_games):
        print("Round", x + 1)
        updated_list = update_list(sorted_list)
        sorted_list = sort_played(sorted_list)

        game_manager = GameManager(TerminalRenderer(), sorted_list[0])

        winner = game_manager.start_game()
        if (winner != None):
            players[winner[0]].update_score(3)
        else:
            players[sorted_list[0][0][0]].update_score(1)
            players[sorted_list[0][1][0]].update_score(1)
        players[sorted_list[0][0][0]].update_played()
        players[sorted_list[0][1][0]].update_played()
        # simulate_game(sorted_list[0])
        del sorted_list[0]
        print_rr_table()
    def test_player_list(self):
        player1 = Player(1, "arvid", 99, True, 3, 3)
        player2 = Player(1, "victor", 99, True, 3, 3)
        player_list = []
        player_list.append(player1)
        player_list.append(player2)
        game_manager = GameManager(TerminalRenderer(), player_list)

        self.assertEqual(game_manager.tournament_players, player_list)
    def test_winner(self):
        player1 = Player(1, "arvid", 99, True, 3, 3)
        player2 = Player(1, "victor", 99, True, 3, 3)
        player_list = []
        player_list.append(player1)
        player_list.append(player2)
        game_manager = GameManager(TerminalRenderer(), player_list)
        winner = game_manager.start_game()

        self.assertEqual(winner, game_manager.winner)
示例#4
0
def start_menu():

    print("Welcome to <insert game name>!")
    print("Please input a game mode")
    print("1. Player vs Player")
    print("2. Player vs CPU")
    print("3. CPU vs CPU")
    print("4. Round robin tournament")
    print("5. Elimination tournament")

    mode = select_game_type()

    if mode == 1:
        print("Player vs player")
        new_player_class(2, mode)
        game_manager = GameManager(TerminalRenderer(), players)
        winner = game_manager.start_game()

    if mode == 2:
        print("Player vs CPU")
        new_player_class(2, mode)
        game_manager = GameManager(TerminalRenderer(), players)
        winner = game_manager.start_game()

    if mode == 3:
        print("CPU vs CPU")
        new_player_class(2, mode)
        game_manager = GameManager(TerminalRenderer(), players)
        winner = game_manager.start_game()

    if mode == 4:
        print("Round robin tournament selected")
        no_of_players = input_players()
        new_player_class(no_of_players, mode)
        next_game_rr(no_of_players)

    if mode == 5:
        print("Elimination tournament selected")
        no_of_players = input_players()
        new_player_class(no_of_players, mode)
        winner = elim_tourney(no_of_players)
        print(winner[0][1], "won the tournament!")
示例#5
0
def play_next_round(player_list, total_games, table_list, num):
    i = 0
    j = 0
    next_round = []
    while i < len(player_list):
        try:
            m_list = [
                players[player_list[i][0]], players[player_list[i + 1][0]]
            ]

            game_manager = GameManager(TerminalRenderer(), m_list)
            winner = game_manager.start_game()

            table_list[total_games] = winner.name
            print_t_table(table_list, num)
            total_games = total_games + 1
            next_round.append(players[winner[0]])
        except IndexError:
            next_round.append(players[player_list[i][0]])
        i = i + 2
        j += 1
    return next_round, total_games