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 }
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]); } }
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); }