示例#1
0
        protected void testAtxMasks(sq sq)
        {
            var n = (Int32)sq;

#if TestDiagIndexers
            testDiagIndexes("A1H8Diag", diagA1H8);
            testDiagIndexes("A8H1Diag", diagA8H1);
#endif
#if TestWhiteSquares
            LogLine("WhiteSquare\n");
            writeRect(WhiteSquare);
            LogLine();
#endif
#if TestRankPiece
            LogLine("RankPiece\n");
            writeRect(RankPiece);
            LogLine();
#endif
#if TestRectAttacks
            LogLine($"rectAtx({sq})\n");
            writeRect(rectAtx(n));
#endif
#if TestDiagAttacks
            LogLine($"diagAtx({sq})\n");
            writeRect(diagAtx(n));
#endif
#if TestKingAttacks
            LogLine("KingAtx\n");
            writeRect(KingAtx[n]);
#endif
#if TestKnightAttacks
            LogLine("KnightAtx\n");
            writeRect(KnightAtx[n]);
#endif
        }
示例#2
0
        protected void testOutsideSquare(sq sq)
        {
            var n = (Int32)sq;

            foreach (var parameter in Parameter)
            {
                testRect($"{parameter.SideName}KingToMoveLoss[{sq}]", parameter.KingToMoveLoss[n]);
                testRect($"{parameter.SideName}PawnToMoveWins[{sq}]", parameter.PawnToMoveWins[n]);
            }
        }
示例#3
0
文件: Board.cs 项目: CNHume/Samples
        protected static void unpackMove1(Move move, out sq sqFrom, out sq sqTo,
                                          out Piece piece, out Piece promotion, out Boolean bCapture)
        {
            Debug.Assert(isDefinite(move), "Indefinite Move");
            sqFrom = (sq)from(move);
            sqTo   = (sq)to(move);

            piece     = (Piece)moved(move);
            promotion = (Piece)promoted(move);

            bCapture = isCapture(move);
        }