Exemplo n.º 1
0
        int OrderRootMove(Move m)
        {
            //use the principal variation move first
            if (PrincipalVariation[0, 0] != null && PrincipalVariation[0, 0].Value == m.Value)
            {
                return(int.MaxValue);
            }

            // otherwise we will use Qsearch to order the moves
            if (!MyBoard.MakeMove(m))
            {
                return(int.MinValue);
            }

            var score = Quiesce(-10000, 10000);

            MyBoard.UnMakeMove();
            return(score);
        }
Exemplo n.º 2
0
 private void TakeBack()
 {
     MyBoard.UnMakeMove();
     Ply--;
 }