Esempio n. 1
0
def play_game(p1, p2, num_sims=1):
    p1_wins = 0
    p2_wins = 0
    for i in range(num_sims):
        #New board
        board = Board(False, False)
        board.build_board()
        board.print()
        #If a player wins break 
        while True:
            board = p1.sim_turn(board)
            winner = check_winner(board)
            if winner == 1:
                p1_wins += 1
                break
            elif winner == 2:
                p2_wins += 1
                break
            board = p2.sim_turn(board)
            winner = check_winner(board)
            if winner == 1:
                p1_wins += 1
                break
            elif winner == 2:
                p2_wins += 1
                break
    print("{} :player 1 wins".format(p1_wins))
    print("{} :player 2 wins".format(p2_wins))
Esempio n. 2
0
    win_percent_history.append(win_percent)
    print(move_two)
    board.make_move(move_two)
    board.print()
    push_move, win_percent = push(board, whichPlayer, numSim)
    win_percent_history.append(win_percent)
    print(push_move)
    if push_move != None:
        board.make_move(push_move, push=True)
    board.print()
    print(board.turn)
    return win_percent_history
        

#This simulates an entire game between two MCTS players.
def simulate_game(board, whichPlayer, numSim):
    win_percent_history = []
    while board.turn != 0:
        win_percent = monteCarloPlayer(board, whichPlayer, numSim)
        whichPlayer *= -1
        win_percent_history.append(win_percent)
    return win_percent_history
#End of MCTS game simulator




if __name__ == "__main__":
    board = Board(False, False)
    board.build_board()