示例#1
0
        static void TestIDAS()
        {
            Board board = new Board();

            TestingHelper.MakeSomeMoves(board);
            Evaluation2.Initialise();

            Stopwatch sw = new Stopwatch();

            sw.Start();
            Tuple <UInt16, int, long, int> bestMoveAndScore = AlphaBeta2.IDASParallel(board, Side.White);

            // AlphaBeta2.IterativeDeepeningParallel(board, Side.White);


            //Tuple<UInt16, int> bestMoveAndScore = AlphaBeta2.RootAlphaBetaTTParallel(board, Side.White, 6);
            //bestMoveAndScore = AlphaBeta2.RootAlphaBetaTTParallel(board, Side.White, 7);
            //, -120, -60);
            sw.Stop();

            //Console.WriteLine("Best Move For White: {0}. Depth: {1}. Score:{2}. TIME: {3} milliseconds",
            //   board.ConvertToAlgebraicNotation(bestMoveAndScore.Item1), 7, bestMoveAndScore.Item2, sw.ElapsedMilliseconds);

            Console.WriteLine("Best Move For White: {0}. Depth: {1}. Score:{2}. TIME: {3} milliseconds",
                              board.ConvertToAlgebraicNotation(bestMoveAndScore.Item1), bestMoveAndScore.Item2, bestMoveAndScore.Item4, sw.ElapsedMilliseconds);
        }
示例#2
0
        public void TestMakingMoves()
        {
            Board board2 = new Board();

            TestingHelper.MakeSomeMoves(board2);

            Debug.WriteLine(board2.ToString());
        }
示例#3
0
        public void TestFirstMoveGeneration()
        {
            Board board = new Board();

            TestingHelper.MakeSomeMoves(board);
            int movesCount;

            UInt16[] moves = board.GenerateMoves(out movesCount);
            Console.WriteLine(movesCount);
        }
示例#4
0
        public void TestEnPassantCapture()
        {
            Board board2 = new Board();

            TestingHelper.MakeSomeMoves(board2);

            board2.MakeUserMove("c5d6");

            Debug.WriteLine(board2.ToString());
        }
示例#5
0
        public void TestCastling()
        {
            Board board2 = new Board();

            TestingHelper.MakeSomeMoves(board2);


            board2.MakeUserMove("e1c1");

            board2.MakeUserMove("e8c8");

            Debug.WriteLine(board2.ToString());
        }
示例#6
0
        public void TestPawnPromotion()
        {
            Board board2 = new Board();

            TestingHelper.MakeSomeMoves(board2);

            board2.MakeUserMove("d2e3");

            bool success = board2.MakeUserMove("d5d4");

            success = board2.MakeUserMove("e1g1");

            success = board2.MakeUserMove("d4d3");

            success = board2.MakeUserMove("a1c1");

            success = board2.MakeUserMove("d3d2");

            success = board2.MakeUserMove("f1e1");

            success = board2.MakeUserMove("d2e1q");
        }