Ejemplo n.º 1
0
    IEnumerator MCTSAIInput()
    {
        thinking = true;

        MCTS search = new MCTS(board.boardState, targetTurnState);

        for (int i = 0; i < budget; i++)
        {
            for (int q = 0; q < 10; q++)
            {
                for (int j = 0; j < 10; j++)
                {
                    search.Iterate();
                }
                yield return(null);
            }
        }
        MCTS.Move bestMove = search.GetBestMove();
        while (board.selectedTurn != bestMove.MoveIndex)
        {
            if (team == Team.Blue)
            {
                board.MoveLeft();
            }
            else
            {
                board.MoveRight();
            }
            yield return(new WaitForSeconds(0.1f));
        }

        if (bestMove.Up)
        {
            board.MoveUp();
        }
        else
        {
            board.MoveDown();
        }
        thinking = false;
    }