Files
hcsalmon1-Chess-Engine-Test/Java/Testing.java
2025-01-19 14:45:46 +00:00

93 lines
2.7 KiB
Java

import java.math.BigInteger;
public class Testing
{
public static void testRookMoves()
{
int rookSquare = 36;
long WP_STARTING_POSITIONS = 71776119061217280L;
long BP_STARTING_POSITIONS = 65280L;
long COMBINED_OCC = WP_STARTING_POSITIONS | BP_STARTING_POSITIONS;
long rookMoves = MoveUtils.getRookMovesSeparate(COMBINED_OCC, rookSquare);
//Bitboard.printBigInteger(rookMoves);
}
public static void TestKnightMoves()
{
BigInteger MAX_BIGINT = new BigInteger("18446744073709551615"); // Max u64 value
BigInteger knightBitboard = BigInteger.ZERO;
knightBitboard = knightBitboard.setBit(45);
knightBitboard = knightBitboard.setBit(42);
Bitboard.printBigInteger(knightBitboard);
Bitboard.printBigInteger(MAX_BIGINT);
BigInteger tempBitboard = knightBitboard;
while (!tempBitboard.equals(BigInteger.ZERO))
{
int knightSquare = Bitboard.bitScanForwardSlow(tempBitboard);
tempBitboard = tempBitboard.clearBit(knightSquare);
Pr.println("Knight square: " + knightSquare);
if (knightSquare == -1)
{
Pr.println("Error knight sq -1");
break;
}
//BigInteger knightAttacks = MoveConstants.KNIGHT_ATTACKS[knightSquare];
Pr.println("Knight on square " + knightSquare);
//Bitboard.printBigInteger(knightAttacks);
}
}
public static void printRookMoves()
{
for (int direction = 0; direction < 4; direction++)
{
Pr.println("direction: " + direction);
for (int sq = 0; sq < 64; sq++)
{
// Bitboard.printBigInteger(MoveConstants.ROOK_ATTACKS[direction][sq]);
}
}
}
public static void printBishopMoves()
{
for (int direction = 0; direction < 4; direction++)
{
Pr.println("direction: " + direction);
for (int sq = 0; sq < 64; sq++)
{
// Bitboard.printBigInteger(MoveConstants.BISHOP_ATTACKS[direction][sq]);
}
}
}
public static void testLong()
{
long knight_bitboard = 0L;
knight_bitboard |= MoveConstants.SQUARE_BBS[63];
Bitboard.printLong(knight_bitboard);
}
public static void bitScanTest()
{
for (int i = 0; i < 64; i++)
{
int square = Perft.bitScanForward(MoveConstants.SQUARE_BBS[i]);
Pr.print("i: "); System.out.println(i); Pr.print("sq: "); System.out.println(square);
}
}
}