Beispiel #1
0
        private static void Position(string[] tokens)
        {
            if (tokens[1].Equals("startpos"))
            {
                ChessBoardUtil.SetStartFen(_cb);
                DoMoves(tokens.Length == 2
                        // position startpos
                    ? new string[] { }
                        // position startpos moves f2f3 g1a3 ...
                    : Arrays.CopyOfRange(tokens, 3, tokens.Length));
            }
            else
            {
                // position fen 4k3/8/8/8/8/3K4 b kq - 0 1 moves f2f3 g1a3 ...
                var fen = tokens[2] + " " + tokens[3] + " " + tokens[4] + " " + tokens[5];
                if (tokens.Length > 6)
                {
                    fen += " " + tokens[6];
                    fen += " " + tokens[7];
                }

                ChessBoardUtil.SetFen(fen, _cb);

                if (tokens.Length == 6 || tokens.Length == 7 || tokens.Length == 8)
                {
                    // position fen 4k3/8/8/8/8/3K4 b kq - 0 1
                    DoMoves(new string[] { });
                }
                else
                {
                    // position fen 4k3/8/8/8/8/3K4 b kq - 0 1 moves f2f3 g1a3 ...
                    DoMoves(Arrays.CopyOfRange(tokens, 9, tokens.Length));
                }
            }

            ErrorLogger.StartFen   = _cb.ToString();
            TtUtil.HalfMoveCounter = _cb.MoveCounter;
        }
Beispiel #2
0
 private static void TestPerft1()
 {
     Console.WriteLine(1);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(20 == Qperft(Cb, 1));
 }
Beispiel #3
0
 public static void TestPerft8()
 {
     Console.WriteLine(8);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(84998978956L == Qperft(Cb, 8));
 }
Beispiel #4
0
 private static void TestPerft7()
 {
     Console.WriteLine(7);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(3195901860L == Qperft(Cb, 7));
 }
Beispiel #5
0
 private static void TestPerft6()
 {
     Console.WriteLine(6);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(119060324 == Qperft(Cb, 6));
 }
Beispiel #6
0
 private static void TestPerft5()
 {
     Console.WriteLine(5);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(4865609 == Qperft(Cb, 5));
 }
Beispiel #7
0
 private static void TestPerft4()
 {
     Console.WriteLine(4);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(197281 == Qperft(Cb, 4));
 }
Beispiel #8
0
 private static void TestPerft3()
 {
     Console.WriteLine(3);
     ChessBoardUtil.SetStartFen(Cb);
     Assert.IsTrue(8902 == Qperft(Cb, 3));
 }