Example #1
0
        private IMove AlfaBeta(IPlayer activePlayer)
        {
            IMove move;
            int   _depth = activePlayer.GetMinMaxDepth();

            if (_depth == 100)
            {
                _depth = DynamicDepth();
                if (_depth == 1)
                {
                    return(game.GetBoard().GetFirstScoredMove());
                }
            }
            minMax.SetResultPlayer(game, activePlayer);
            if (game.GetPlayers()[0].Equals(activePlayer))
            {
                move = minMax.GetAlfaBetaMoveNew(game, null, _depth,
                                                 Double.MinValue, Double.MaxValue);
            }
            else
            {
                move = minMax.GetAlfaBetaMoveNew(game, null, _depth,
                                                 Double.MinValue, Double.MaxValue);
            }
            return(move);
        }