diff --git a/Java/Board.java b/Java/Board.java deleted file mode 100644 index 5523df2..0000000 --- a/Java/Board.java +++ /dev/null @@ -1,121 +0,0 @@ - -import java.math.BigInteger; - -public class Board -{ - public static BigInteger[] bitboard_array_global = new BigInteger[12]; - public static boolean is_white_global = true; - public static boolean[] castle_rights_global = new boolean[4]; - public static int ep; - - static final BigInteger BP_STARTING_POSITIONS = new BigInteger("65280"); - static final BigInteger WP_STARTING_POSITIONS = new BigInteger("71776119061217280"); - static final BigInteger BK_STARTING_POSITION = new BigInteger("16"); - static final BigInteger WK_STARTING_POSITION = new BigInteger("1152921504606846976"); - static final BigInteger BN_STARTING_POSITIONS = new BigInteger("66"); - static final BigInteger WN_STARTING_POSITIONS = new BigInteger("4755801206503243776"); - static final BigInteger WR_STARTING_POSITIONS = new BigInteger("9295429630892703744"); - static final BigInteger BR_STARTING_POSITIONS = new BigInteger("129"); - static final BigInteger BB_STARTING_POSITIONS = new BigInteger("36"); - static final BigInteger WB_STARTING_POSITIONS = new BigInteger("2594073385365405696"); - static final BigInteger WQ_STARTING_POSITION = new BigInteger("576460752303423488"); - static final BigInteger BQ_STARTING_POSITION = new BigInteger("8"); - - - public static void SetTrickyPosition() { - - ep = GenConst.NO_SQUARE; - is_white_global = true; - castle_rights_global[0] = true; - castle_rights_global[1] = true; - castle_rights_global[2] = true; - castle_rights_global[3] = true; - - bitboard_array_global[GenConst.WP] = new BigInteger("65020788473856000"); - bitboard_array_global[GenConst.WN] = new BigInteger("4398314946560"); - bitboard_array_global[GenConst.WB] = new BigInteger("6755399441055744"); - bitboard_array_global[GenConst.WR] = new BigInteger("9295429630892703744"); - bitboard_array_global[GenConst.WQ] = new BigInteger("35184372088832"); - bitboard_array_global[GenConst.WK] = new BigInteger("1152921504606846976"); - bitboard_array_global[GenConst.BP] = new BigInteger("140746083544320"); - bitboard_array_global[GenConst.BN] = new BigInteger("2228224"); - bitboard_array_global[GenConst.BB] = new BigInteger("81920"); - bitboard_array_global[GenConst.BR] = new BigInteger("129"); - bitboard_array_global[GenConst.BQ] = new BigInteger("4096"); - bitboard_array_global[GenConst.BK] = new BigInteger("16"); - } - - public static void SetStartingPosition() { - - ep = GenConst.NO_SQUARE; - is_white_global = true; - castle_rights_global[0] = true; - castle_rights_global[1] = true; - castle_rights_global[2] = true; - castle_rights_global[3] = true; - - bitboard_array_global[GenConst.WP] = WP_STARTING_POSITIONS; - bitboard_array_global[GenConst.WN] = WN_STARTING_POSITIONS; - bitboard_array_global[GenConst.WB] = WB_STARTING_POSITIONS; - bitboard_array_global[GenConst.WR] = WR_STARTING_POSITIONS; - bitboard_array_global[GenConst.WQ] = WQ_STARTING_POSITION; - bitboard_array_global[GenConst.WK] = WK_STARTING_POSITION; - bitboard_array_global[GenConst.BP] = BP_STARTING_POSITIONS; - bitboard_array_global[GenConst.BN] = BN_STARTING_POSITIONS; - bitboard_array_global[GenConst.BB] = BB_STARTING_POSITIONS; - bitboard_array_global[GenConst.BR] = BR_STARTING_POSITIONS; - bitboard_array_global[GenConst.BQ] = BQ_STARTING_POSITION; - bitboard_array_global[GenConst.BK] = BK_STARTING_POSITION; - } - - static final char[] PieceNames = {'P', 'N', 'B', 'R', 'Q', 'K', 'P', 'N', 'B', 'R', 'Q', 'K', '_'}; - static final char[] PieceColours = {'W', 'W', 'W', 'W', 'W', 'W', 'B', 'B', 'B', 'B', 'B', 'B', '_'}; - -static final int EMPTY = 12; - - static boolean IsOccupied(BigInteger bitboard, int square) { - return !bitboard.and(MoveConstants.SQUARE_BBS[square]).equals(BigInteger.ZERO); - } - - static int GetOccupiedIndex(int square) { - for (int i = 0; i < 12; i++) { - if (IsOccupied(bitboard_array_global[i], square)) { - return i; - } - } - return EMPTY; - } - - static int[] fillBoardArray() { - int[] boardArray = new int[64]; - for (int i = 0; i < 64; i++) { - boardArray[i] = GetOccupiedIndex(i); - } - return boardArray; - } - - public static void PrintBoard() { - System.out.println("Board:"); - - int[] boardArray = fillBoardArray(); - - for (int rank = 0; rank < 8; rank++) { - System.out.print(" "); - - for (int file = 0; file < 8; file++) { - int square = (rank * 8) + file; - System.out.printf("%c%c ", PieceColours[boardArray[square]], PieceNames[boardArray[square]]); - } - - System.out.println(); - } - System.out.println(); - - System.out.printf("White to play: %b\n", is_white_global); - System.out.printf("Castle: %b %b %b %b\n", castle_rights_global[0], castle_rights_global[1], castle_rights_global[2], castle_rights_global[3]); - System.out.printf("ep: %d\n", ep); - System.out.println(); - System.out.println(); - } - -}