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)
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!")
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