def run_one_game(player_1: ANET, player_2: ANET, visualize: bool) -> int: """ Runs excatly one game with the provided players. """ world = SimulatedWorldFactory.get_simulated_world() current_state = world.reset() if visualize and parameters.GAME_TYPE == Game.Hex: Visualize.initialize_board(current_state) players = (player_1, player_2) i = 0 winner = 0 while not world.is_final_state(): legal_actions = world.get_legal_actions() action = players[i].choose_greedy(current_state, legal_actions) current_state, winner = world.step(action) # Alternating players i = (i + 1) % 2 if visualize and parameters.GAME_TYPE == Game.Hex: Visualize.draw_board(current_state, winner, str(player_1), str(player_2)) print(f'Player {winner} won the game.') return winner
def __draw_board(self, action: Action) -> None: Visualize.draw_board(self.__board_type, self.__board, action.positions)