예제 #1
0
        private static Move createSimulatedEquivalentOfMove(Move originalMove)
        {
            Simulation.Game simulatedEquivalentGame = new Simulation.Game(originalMove.Game);

            Move simulatedEquivalentMove = CreateMatchingMoveForGame(originalMove: originalMove, game: simulatedEquivalentGame);

            return(simulatedEquivalentMove);
        }
예제 #2
0
            private Move findBestMove()
            {
                Simulation.Game simulatedGame = new Simulation.Game(this.Game);
                AI simPlayer = (AI)simulatedGame.FindMatchingPlayer(this);
                TreeNode <Move> movePossibilityTree = simPlayer.buildMovePossibilityTreeInParallel(maximumDepth: 3);
                Move            bestMove            = searchMovePossibilityTreeForBestMove(movePossibilityTree);

                return(bestMove);
            }