diff --git a/src/suicideChess/Piece.java b/src/suicideChess/Piece.java index 2b70751..e408030 100644 --- a/src/suicideChess/Piece.java +++ b/src/suicideChess/Piece.java @@ -27,25 +27,27 @@ public class Piece { //Constants used in the board representation public static final int WHITE_PIECES = WHITE; public static final int BLACK_PIECES = BLACK; - public static final int PAWN = 2; - public static final int WHITE_PAWN = PAWN + WHITE; - public static final int BLACK_PAWN = PAWN + BLACK; - public static final int KING = 4; - public static final int WHITE_KING = KING + WHITE; - public static final int BLACK_KING = KING + BLACK; - public static final int QUEEN = 6; - public static final int WHITE_QUEEN = QUEEN + WHITE; - public static final int BLACK_QUEEN = QUEEN + BLACK; - public static final int BISHOP = 8; - public static final int WHITE_BISHOP = BISHOP + WHITE; - public static final int BLACK_BISHOP = BISHOP + BLACK; - public static final int KNIGHT = 10; - public static final int WHITE_KNIGHT = KNIGHT + WHITE; - public static final int BLACK_KNIGHT = KNIGHT + BLACK; - public static final int ROOK = 12; - public static final int WHITE_ROOK = ROOK + WHITE; - public static final int BLACK_ROOK = ROOK + BLACK; - + public static final int PAWN = 0; + public static final int WHITE_PAWN = 2*(PAWN+1) + WHITE; + public static final int BLACK_PAWN = 2*(PAWN+1) + BLACK; + public static final int QUEEN = 1; + public static final int WHITE_QUEEN = 2*(QUEEN+1) + WHITE; + public static final int BLACK_QUEEN = 2*(QUEEN+1) + BLACK; + public static final int KING = 2; + public static final int WHITE_KING = 2*(KING+1) + WHITE; + public static final int BLACK_KING = 2*(KING+1) + BLACK; + public static final int BISHOP = 3; + public static final int WHITE_BISHOP = 2*(BISHOP+1) + WHITE; + public static final int BLACK_BISHOP = 2*(BISHOP+1) + BLACK; + public static final int KNIGHT = 4; + public static final int WHITE_KNIGHT = 2*(KNIGHT+1) + WHITE; + public static final int BLACK_KNIGHT = 2*(KNIGHT+1) + BLACK; + public static final int ROOK = 5; + public static final int WHITE_ROOK = 2*(ROOK+1) + WHITE; + public static final int BLACK_ROOK = 2*(ROOK+1) + BLACK; + + public static final int MAX_PIECE_NUMBER = BLACK_ROOK; + public static final int NB_OF_PIECES = ROOK + 1; //Constants used for promotion (as used in the xboard protocol) public static final char KING_CHAR='k'; @@ -85,22 +87,22 @@ public class Piece { pieceNumber = NONE; switch (piece) { case PAWN_CHAR: - pieceNumber = PAWN + color; + pieceNumber = 2*(PAWN+1) + color; break; case KING_CHAR: - pieceNumber = KING + color; + pieceNumber = 2*(KING+1) + color; break; case QUEEN_CHAR: - pieceNumber = QUEEN + color; + pieceNumber = 2*(QUEEN+1) + color; break; case BISHOP_CHAR: - pieceNumber = BISHOP + color; + pieceNumber = 2*(BISHOP+1) + color; break; case KNIGHT_CHAR: - pieceNumber = KNIGHT + color; + pieceNumber = 2*(KNIGHT+1) + color; break; case ROOK_CHAR: - pieceNumber = ROOK + color; + pieceNumber = 2*(ROOK+1) + color; break; } } diff --git a/src/suicideChess/Rules.java b/src/suicideChess/Rules.java new file mode 100644 index 0000000..bb9a486 --- /dev/null +++ b/src/suicideChess/Rules.java @@ -0,0 +1,3104 @@ +package suicideChess; + +/** + * This class is used to compute legal moves. + * + * @author Jean-Baptiste Hétier + * @version $LastChangedRevision$, $LastChangedDate$ + */ + +public class Rules { + + /** + * Computes the possible moves from a given {@link Square} + * according to the current status of the {@link Board} + * @param square The square from which the move must start + * @param board The current board position. + * @see Square + * @see Board + */ + public Move[] legalMovesFromSquare(Square square, Board board) { + Piece piece = board.getPiece(square); + switch (piece.getPieceNumber()) { + case Piece.NONE: + return null; + case Piece.WHITE_PAWN: + //@TODO + break; + case Piece.BLACK_PAWN: + //@TODO + break; + default: + } + + return null; + } + + private static int[][][][] movesAllowed; + + static { + //all possible moves for a rook, a bishop, a king and a knight are preprocessed here + + /* + movesAllowed[Piece.CONSTANT] will be an array of 64 integers (64 squares on the board) + and for every square we have a array of all possible destination squares. + squares are represented using the bitboard numbers (see Board.class). + Pawns and Queens move won't be processed using this table so movesAllowed[Piece.QUEEN] + will be empty + */ + + movesAllowed = new int [Piece.NB_OF_PIECES][][][]; + + //Values taken and adapted from François-Dominic Laramée JavaChess program + + /*======* + * KING * + ********/ + + movesAllowed[Piece.KING] = new int[Board.NB_OF_SQUARES][][]; + movesAllowed[Piece.KING][ 0 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KING][ 0 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KING][ 0 ][ 1 ][ 0 ] = 8; + movesAllowed[Piece.KING][ 0 ][ 2 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 1 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 1 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.KING][ 1 ][ 1 ][ 0 ] = 2; + movesAllowed[Piece.KING][ 1 ][ 2 ][ 0 ] = 8; + movesAllowed[Piece.KING][ 1 ][ 3 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 1 ][ 4 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 2 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 2 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KING][ 2 ][ 1 ][ 0 ] = 3; + movesAllowed[Piece.KING][ 2 ][ 2 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 2 ][ 3 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 2 ][ 4 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 3 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 3 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.KING][ 3 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.KING][ 3 ][ 2 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 3 ][ 3 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 3 ][ 4 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 4 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 4 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.KING][ 4 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.KING][ 4 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 4 ][ 3 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 4 ][ 4 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 5 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 5 ][ 0 ][ 0 ] = 4; + movesAllowed[Piece.KING][ 5 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.KING][ 5 ][ 2 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 5 ][ 3 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 5 ][ 4 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 6 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 6 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.KING][ 6 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.KING][ 6 ][ 2 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 6 ][ 3 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 6 ][ 4 ][ 0 ] = 15; + movesAllowed[Piece.KING][ 7 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KING][ 7 ][ 0 ][ 0 ] = 6; + movesAllowed[Piece.KING][ 7 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 7 ][ 2 ][ 0 ] = 15; + + movesAllowed[Piece.KING][ 8 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 8 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.KING][ 8 ][ 1 ][ 0 ] = 1; + movesAllowed[Piece.KING][ 8 ][ 2 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 8 ][ 3 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 8 ][ 4 ][ 0 ] = 16; + movesAllowed[Piece.KING][ 9 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 9 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.KING][ 9 ][ 1 ][ 0 ] = 1; + movesAllowed[Piece.KING][ 9 ][ 2 ][ 0 ] = 2; + movesAllowed[Piece.KING][ 9 ][ 3 ][ 0 ] = 8; + movesAllowed[Piece.KING][ 9 ][ 4 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 9 ][ 5 ][ 0 ] = 16; + movesAllowed[Piece.KING][ 9 ][ 6 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 9 ][ 7 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 10 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 10 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KING][ 10 ][ 1 ][ 0 ] = 2; + movesAllowed[Piece.KING][ 10 ][ 2 ][ 0 ] = 3; + movesAllowed[Piece.KING][ 10 ][ 3 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 10 ][ 4 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 10 ][ 5 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 10 ][ 6 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 10 ][ 7 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 11 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 11 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.KING][ 11 ][ 1 ][ 0 ] = 3; + movesAllowed[Piece.KING][ 11 ][ 2 ][ 0 ] = 4; + movesAllowed[Piece.KING][ 11 ][ 3 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 11 ][ 4 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 11 ][ 5 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 11 ][ 6 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 11 ][ 7 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 12 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 12 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.KING][ 12 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.KING][ 12 ][ 2 ][ 0 ] = 5; + movesAllowed[Piece.KING][ 12 ][ 3 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 12 ][ 4 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 12 ][ 5 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 12 ][ 6 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 12 ][ 7 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 13 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 13 ][ 0 ][ 0 ] = 4; + movesAllowed[Piece.KING][ 13 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.KING][ 13 ][ 2 ][ 0 ] = 6; + movesAllowed[Piece.KING][ 13 ][ 3 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 13 ][ 4 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 13 ][ 5 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 13 ][ 6 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 13 ][ 7 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 14 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 14 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.KING][ 14 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.KING][ 14 ][ 2 ][ 0 ] = 7; + movesAllowed[Piece.KING][ 14 ][ 3 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 14 ][ 4 ][ 0 ] = 15; + movesAllowed[Piece.KING][ 14 ][ 5 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 14 ][ 6 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 14 ][ 7 ][ 0 ] = 23; + movesAllowed[Piece.KING][ 15 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 15 ][ 0 ][ 0 ] = 6; + movesAllowed[Piece.KING][ 15 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.KING][ 15 ][ 2 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 15 ][ 3 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 15 ][ 4 ][ 0 ] = 23; + + movesAllowed[Piece.KING][ 16 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 16 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 16 ][ 1 ][ 0 ] = 8; + movesAllowed[Piece.KING][ 16 ][ 2 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 16 ][ 3 ][ 0 ] = 24; + movesAllowed[Piece.KING][ 16 ][ 4 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 17 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 17 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.KING][ 17 ][ 1 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 17 ][ 2 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 17 ][ 3 ][ 0 ] = 16; + movesAllowed[Piece.KING][ 17 ][ 4 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 17 ][ 5 ][ 0 ] = 24; + movesAllowed[Piece.KING][ 17 ][ 6 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 17 ][ 7 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 18 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 18 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.KING][ 18 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 18 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 18 ][ 3 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 18 ][ 4 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 18 ][ 5 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 18 ][ 6 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 18 ][ 7 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 19 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 19 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.KING][ 19 ][ 1 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 19 ][ 2 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 19 ][ 3 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 19 ][ 4 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 19 ][ 5 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 19 ][ 6 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 19 ][ 7 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 20 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 20 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.KING][ 20 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 20 ][ 2 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 20 ][ 3 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 20 ][ 4 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 20 ][ 5 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 20 ][ 6 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 20 ][ 7 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 21 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 21 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.KING][ 21 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 21 ][ 2 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 21 ][ 3 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 21 ][ 4 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 21 ][ 5 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 21 ][ 6 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 21 ][ 7 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 22 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 22 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.KING][ 22 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 22 ][ 2 ][ 0 ] = 15; + movesAllowed[Piece.KING][ 22 ][ 3 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 22 ][ 4 ][ 0 ] = 23; + movesAllowed[Piece.KING][ 22 ][ 5 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 22 ][ 6 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 22 ][ 7 ][ 0 ] = 31; + movesAllowed[Piece.KING][ 23 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 23 ][ 0 ][ 0 ] = 14; + movesAllowed[Piece.KING][ 23 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.KING][ 23 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 23 ][ 3 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 23 ][ 4 ][ 0 ] = 31; + + movesAllowed[Piece.KING][ 24 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 24 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.KING][ 24 ][ 1 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 24 ][ 2 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 24 ][ 3 ][ 0 ] = 32; + movesAllowed[Piece.KING][ 24 ][ 4 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 25 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 25 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.KING][ 25 ][ 1 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 25 ][ 2 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 25 ][ 3 ][ 0 ] = 24; + movesAllowed[Piece.KING][ 25 ][ 4 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 25 ][ 5 ][ 0 ] = 32; + movesAllowed[Piece.KING][ 25 ][ 6 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 25 ][ 7 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 26 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 26 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.KING][ 26 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 26 ][ 2 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 26 ][ 3 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 26 ][ 4 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 26 ][ 5 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 26 ][ 6 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 26 ][ 7 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 27 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 27 ][ 0 ][ 0 ] = 18; + movesAllowed[Piece.KING][ 27 ][ 1 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 27 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 27 ][ 3 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 27 ][ 4 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 27 ][ 5 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 27 ][ 6 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 27 ][ 7 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 28 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 28 ][ 0 ][ 0 ] = 19; + movesAllowed[Piece.KING][ 28 ][ 1 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 28 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 28 ][ 3 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 28 ][ 4 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 28 ][ 5 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 28 ][ 6 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 28 ][ 7 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 29 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 29 ][ 0 ][ 0 ] = 20; + movesAllowed[Piece.KING][ 29 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 29 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 29 ][ 3 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 29 ][ 4 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 29 ][ 5 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 29 ][ 6 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 29 ][ 7 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 30 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 30 ][ 0 ][ 0 ] = 21; + movesAllowed[Piece.KING][ 30 ][ 1 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 30 ][ 2 ][ 0 ] = 23; + movesAllowed[Piece.KING][ 30 ][ 3 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 30 ][ 4 ][ 0 ] = 31; + movesAllowed[Piece.KING][ 30 ][ 5 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 30 ][ 6 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 30 ][ 7 ][ 0 ] = 39; + movesAllowed[Piece.KING][ 31 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 31 ][ 0 ][ 0 ] = 22; + movesAllowed[Piece.KING][ 31 ][ 1 ][ 0 ] = 23; + movesAllowed[Piece.KING][ 31 ][ 2 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 31 ][ 3 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 31 ][ 4 ][ 0 ] = 39; + + movesAllowed[Piece.KING][ 32 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 32 ][ 0 ][ 0 ] = 24; + movesAllowed[Piece.KING][ 32 ][ 1 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 32 ][ 2 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 32 ][ 3 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 32 ][ 4 ][ 0 ] = 40; + movesAllowed[Piece.KING][ 33 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 33 ][ 0 ][ 0 ] = 24; + movesAllowed[Piece.KING][ 33 ][ 1 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 33 ][ 2 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 33 ][ 3 ][ 0 ] = 32; + movesAllowed[Piece.KING][ 33 ][ 4 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 33 ][ 5 ][ 0 ] = 40; + movesAllowed[Piece.KING][ 33 ][ 6 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 33 ][ 7 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 34 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 34 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.KING][ 34 ][ 1 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 34 ][ 2 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 34 ][ 3 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 34 ][ 4 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 34 ][ 5 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 34 ][ 6 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 34 ][ 7 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 35 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 35 ][ 0 ][ 0 ] = 26; + movesAllowed[Piece.KING][ 35 ][ 1 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 35 ][ 2 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 35 ][ 3 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 35 ][ 4 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 35 ][ 5 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 35 ][ 6 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 35 ][ 7 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 36 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 36 ][ 0 ][ 0 ] = 27; + movesAllowed[Piece.KING][ 36 ][ 1 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 36 ][ 2 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 36 ][ 3 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 36 ][ 4 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 36 ][ 5 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 36 ][ 6 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 36 ][ 7 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 37 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 37 ][ 0 ][ 0 ] = 28; + movesAllowed[Piece.KING][ 37 ][ 1 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 37 ][ 2 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 37 ][ 3 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 37 ][ 4 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 37 ][ 5 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 37 ][ 6 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 37 ][ 7 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 38 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 38 ][ 0 ][ 0 ] = 29; + movesAllowed[Piece.KING][ 38 ][ 1 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 38 ][ 2 ][ 0 ] = 31; + movesAllowed[Piece.KING][ 38 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 38 ][ 4 ][ 0 ] = 39; + movesAllowed[Piece.KING][ 38 ][ 5 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 38 ][ 6 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 38 ][ 7 ][ 0 ] = 47; + movesAllowed[Piece.KING][ 39 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 39 ][ 0 ][ 0 ] = 30; + movesAllowed[Piece.KING][ 39 ][ 1 ][ 0 ] = 31; + movesAllowed[Piece.KING][ 39 ][ 2 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 39 ][ 3 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 39 ][ 4 ][ 0 ] = 47; + + movesAllowed[Piece.KING][ 40 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 40 ][ 0 ][ 0 ] = 32; + movesAllowed[Piece.KING][ 40 ][ 1 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 40 ][ 2 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 40 ][ 3 ][ 0 ] = 48; + movesAllowed[Piece.KING][ 40 ][ 4 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 41 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 41 ][ 0 ][ 0 ] = 32; + movesAllowed[Piece.KING][ 41 ][ 1 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 41 ][ 2 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 41 ][ 3 ][ 0 ] = 40; + movesAllowed[Piece.KING][ 41 ][ 4 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 41 ][ 5 ][ 0 ] = 48; + movesAllowed[Piece.KING][ 41 ][ 6 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 41 ][ 7 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 42 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 42 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.KING][ 42 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 42 ][ 2 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 42 ][ 3 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 42 ][ 4 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 42 ][ 5 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 42 ][ 6 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 42 ][ 7 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 43 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 43 ][ 0 ][ 0 ] = 34; + movesAllowed[Piece.KING][ 43 ][ 1 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 43 ][ 2 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 43 ][ 3 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 43 ][ 4 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 43 ][ 5 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 43 ][ 6 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 43 ][ 7 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 44 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 44 ][ 0 ][ 0 ] = 35; + movesAllowed[Piece.KING][ 44 ][ 1 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 44 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 44 ][ 3 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 44 ][ 4 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 44 ][ 5 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 44 ][ 6 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 44 ][ 7 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 45 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 45 ][ 0 ][ 0 ] = 36; + movesAllowed[Piece.KING][ 45 ][ 1 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 45 ][ 2 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 45 ][ 3 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 45 ][ 4 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 45 ][ 5 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 45 ][ 6 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 45 ][ 7 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 46 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 46 ][ 0 ][ 0 ] = 37; + movesAllowed[Piece.KING][ 46 ][ 1 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 46 ][ 2 ][ 0 ] = 39; + movesAllowed[Piece.KING][ 46 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 46 ][ 4 ][ 0 ] = 47; + movesAllowed[Piece.KING][ 46 ][ 5 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 46 ][ 6 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 46 ][ 7 ][ 0 ] = 55; + movesAllowed[Piece.KING][ 47 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 47 ][ 0 ][ 0 ] = 38; + movesAllowed[Piece.KING][ 47 ][ 1 ][ 0 ] = 39; + movesAllowed[Piece.KING][ 47 ][ 2 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 47 ][ 3 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 47 ][ 4 ][ 0 ] = 55; + + movesAllowed[Piece.KING][ 48 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 48 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.KING][ 48 ][ 1 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 48 ][ 2 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 48 ][ 3 ][ 0 ] = 56; + movesAllowed[Piece.KING][ 48 ][ 4 ][ 0 ] = 57; + movesAllowed[Piece.KING][ 49 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 49 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.KING][ 49 ][ 1 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 49 ][ 2 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 49 ][ 3 ][ 0 ] = 48; + movesAllowed[Piece.KING][ 49 ][ 4 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 49 ][ 5 ][ 0 ] = 56; + movesAllowed[Piece.KING][ 49 ][ 6 ][ 0 ] = 57; + movesAllowed[Piece.KING][ 49 ][ 7 ][ 0 ] = 58; + movesAllowed[Piece.KING][ 50 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 50 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.KING][ 50 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 50 ][ 2 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 50 ][ 3 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 50 ][ 4 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 50 ][ 5 ][ 0 ] = 57; + movesAllowed[Piece.KING][ 50 ][ 6 ][ 0 ] = 58; + movesAllowed[Piece.KING][ 50 ][ 7 ][ 0 ] = 59; + movesAllowed[Piece.KING][ 51 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 51 ][ 0 ][ 0 ] = 42; + movesAllowed[Piece.KING][ 51 ][ 1 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 51 ][ 2 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 51 ][ 3 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 51 ][ 4 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 51 ][ 5 ][ 0 ] = 58; + movesAllowed[Piece.KING][ 51 ][ 6 ][ 0 ] = 59; + movesAllowed[Piece.KING][ 51 ][ 7 ][ 0 ] = 60; + movesAllowed[Piece.KING][ 52 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 52 ][ 0 ][ 0 ] = 43; + movesAllowed[Piece.KING][ 52 ][ 1 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 52 ][ 2 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 52 ][ 3 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 52 ][ 4 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 52 ][ 5 ][ 0 ] = 59; + movesAllowed[Piece.KING][ 52 ][ 6 ][ 0 ] = 60; + movesAllowed[Piece.KING][ 52 ][ 7 ][ 0 ] = 61; + movesAllowed[Piece.KING][ 53 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 53 ][ 0 ][ 0 ] = 44; + movesAllowed[Piece.KING][ 53 ][ 1 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 53 ][ 2 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 53 ][ 3 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 53 ][ 4 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 53 ][ 5 ][ 0 ] = 60; + movesAllowed[Piece.KING][ 53 ][ 6 ][ 0 ] = 61; + movesAllowed[Piece.KING][ 53 ][ 7 ][ 0 ] = 62; + movesAllowed[Piece.KING][ 54 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KING][ 54 ][ 0 ][ 0 ] = 45; + movesAllowed[Piece.KING][ 54 ][ 1 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 54 ][ 2 ][ 0 ] = 47; + movesAllowed[Piece.KING][ 54 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 54 ][ 4 ][ 0 ] = 55; + movesAllowed[Piece.KING][ 54 ][ 5 ][ 0 ] = 61; + movesAllowed[Piece.KING][ 54 ][ 6 ][ 0 ] = 62; + movesAllowed[Piece.KING][ 54 ][ 7 ][ 0 ] = 63; + movesAllowed[Piece.KING][ 55 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 55 ][ 0 ][ 0 ] = 46; + movesAllowed[Piece.KING][ 55 ][ 1 ][ 0 ] = 47; + movesAllowed[Piece.KING][ 55 ][ 2 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 55 ][ 3 ][ 0 ] = 62; + movesAllowed[Piece.KING][ 55 ][ 4 ][ 0 ] = 63; + + movesAllowed[Piece.KING][ 56 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KING][ 56 ][ 0 ][ 0 ] = 48; + movesAllowed[Piece.KING][ 56 ][ 1 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 56 ][ 2 ][ 0 ] = 57; + movesAllowed[Piece.KING][ 57 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 57 ][ 0 ][ 0 ] = 48; + movesAllowed[Piece.KING][ 57 ][ 1 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 57 ][ 2 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 57 ][ 3 ][ 0 ] = 56; + movesAllowed[Piece.KING][ 57 ][ 4 ][ 0 ] = 58; + movesAllowed[Piece.KING][ 58 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 58 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.KING][ 58 ][ 1 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 58 ][ 2 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 58 ][ 3 ][ 0 ] = 57; + movesAllowed[Piece.KING][ 58 ][ 4 ][ 0 ] = 59; + movesAllowed[Piece.KING][ 59 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 59 ][ 0 ][ 0 ] = 50; + movesAllowed[Piece.KING][ 59 ][ 1 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 59 ][ 2 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 59 ][ 3 ][ 0 ] = 58; + movesAllowed[Piece.KING][ 59 ][ 4 ][ 0 ] = 60; + movesAllowed[Piece.KING][ 60 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 60 ][ 0 ][ 0 ] = 51; + movesAllowed[Piece.KING][ 60 ][ 1 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 60 ][ 2 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 60 ][ 3 ][ 0 ] = 59; + movesAllowed[Piece.KING][ 60 ][ 4 ][ 0 ] = 61; + movesAllowed[Piece.KING][ 61 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 61 ][ 0 ][ 0 ] = 52; + movesAllowed[Piece.KING][ 61 ][ 1 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 61 ][ 2 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 61 ][ 3 ][ 0 ] = 60; + movesAllowed[Piece.KING][ 61 ][ 4 ][ 0 ] = 62; + movesAllowed[Piece.KING][ 62 ] = new int[ 5 ][ 0 ]; + movesAllowed[Piece.KING][ 62 ][ 0 ][ 0 ] = 53; + movesAllowed[Piece.KING][ 62 ][ 1 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 62 ][ 2 ][ 0 ] = 55; + movesAllowed[Piece.KING][ 62 ][ 3 ][ 0 ] = 61; + movesAllowed[Piece.KING][ 62 ][ 4 ][ 0 ] = 63; + movesAllowed[Piece.KING][ 63 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KING][ 63 ][ 0 ][ 0 ] = 54; + movesAllowed[Piece.KING][ 63 ][ 1 ][ 0 ] = 55; + movesAllowed[Piece.KING][ 63 ][ 2 ][ 0 ] = 62; + + /*========* + * BISHOP * + *========*/ + movesAllowed[Piece.BISHOP] = new int[ 64 ][][]; + movesAllowed[Piece.BISHOP][ 0 ] = new int [ 1 ][ 7 ]; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 3 ] = 36; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 4 ] = 45; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 5 ] = 54; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 6 ] = 63; + + movesAllowed[Piece.BISHOP][ 1 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 1 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 1 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 3 ] = 37; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 4 ] = 46; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 5 ] = 55; + + movesAllowed[Piece.BISHOP][ 2 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ][ 1 ] = 16; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 2 ] = 29; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 3 ] = 38; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 4 ] = 47; + + movesAllowed[Piece.BISHOP][ 3 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 1 ] = 17; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 2 ] = 24; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 2 ] = 30; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 3 ] = 39; + + movesAllowed[Piece.BISHOP][ 4 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 2 ] = 25; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 3 ] = 32; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 1 ] = 22; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 2 ] = 31; + + movesAllowed[Piece.BISHOP][ 5 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 2 ] = 26; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 3 ] = 33; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 4 ] = 40; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ][ 1 ] = 23; + + movesAllowed[Piece.BISHOP][ 6 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 3 ] = 34; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 4 ] = 41; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 5 ] = 48; + movesAllowed[Piece.BISHOP][ 6 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 6 ][ 1 ][ 0 ] = 15; + + movesAllowed[Piece.BISHOP][ 7 ] = new int [ 1 ][ 7 ]; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 3 ] = 35; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 4 ] = 42; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 5 ] = 49; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 6 ] = 56; + + movesAllowed[Piece.BISHOP][ 8 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 3 ] = 44; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 4 ] = 53; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 5 ] = 62; + + movesAllowed[Piece.BISHOP][ 9 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 9 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 0 ] = 2; + movesAllowed[Piece.BISHOP][ 9 ][ 2 ][ 0 ] = 16; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 3 ] = 45; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 4 ] = 54; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 5 ] = 63; + + movesAllowed[Piece.BISHOP][ 10 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 10 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 0 ] = 3; + movesAllowed[Piece.BISHOP][ 10 ][ 2 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 10 ][ 2 ][ 1 ] = 24; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 2 ] = 37; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 3 ] = 46; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 4 ] = 55; + + movesAllowed[Piece.BISHOP][ 11 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ][ 1 ] = 25; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ][ 2 ] = 32; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 2 ] = 38; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 3 ] = 47; + + movesAllowed[Piece.BISHOP][ 12 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ][ 2 ] = 33; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ][ 3 ] = 40; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 1 ] = 30; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 2 ] = 39; + + movesAllowed[Piece.BISHOP][ 13 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 0 ] = 4; + movesAllowed[Piece.BISHOP][ 13 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 2 ] = 34; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 3 ] = 41; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 4 ] = 48; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 1 ] = 31; + + movesAllowed[Piece.BISHOP][ 14 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.BISHOP][ 14 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 3 ] = 42; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 4 ] = 49; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 5 ] = 56; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 0 ] = 23; + + movesAllowed[Piece.BISHOP][ 15 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 0 ] = 6; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 3 ] = 43; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 4 ] = 50; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 5 ] = 57; + + movesAllowed[Piece.BISHOP][ 16 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ][ 1 ] = 2; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 2 ] = 43; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 3 ] = 52; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 4 ] = 61; + + movesAllowed[Piece.BISHOP][ 17 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 17 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 1 ] = 3; + movesAllowed[Piece.BISHOP][ 17 ][ 2 ][ 0 ] = 24; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 2 ] = 44; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 3 ] = 53; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 4 ] = 62; + + movesAllowed[Piece.BISHOP][ 18 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ][ 1 ] = 0; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 1 ] = 4; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ][ 1 ] = 32; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 2 ] = 45; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 3 ] = 54; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 4 ] = 63; + + movesAllowed[Piece.BISHOP][ 19 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ][ 1 ] = 1; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 1 ] = 5; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ][ 1 ] = 33; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ][ 2 ] = 40; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 2 ] = 46; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 3 ] = 55; + + movesAllowed[Piece.BISHOP][ 20 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 1 ] = 2; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ][ 1 ] = 6; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 2 ] = 41; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 3 ] = 48; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 1 ] = 38; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 2 ] = 47; + + movesAllowed[Piece.BISHOP][ 21 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 1 ] = 3; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ][ 1 ] = 7; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 2 ] = 42; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 3 ] = 49; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 4 ] = 56; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 1 ] = 39; + + movesAllowed[Piece.BISHOP][ 22 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 1 ] = 4; + movesAllowed[Piece.BISHOP][ 22 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 2 ] = 43; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 3 ] = 50; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 4 ] = 57; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 0 ] = 31; + + movesAllowed[Piece.BISHOP][ 23 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 1 ] = 5; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 2 ] = 44; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 3 ] = 51; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 4 ] = 58; + + movesAllowed[Piece.BISHOP][ 24 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 1 ] = 10; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 2 ] = 3; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 2 ] = 51; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 3 ] = 60; + + movesAllowed[Piece.BISHOP][ 25 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 25 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 1 ] = 11; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 2 ] = 4; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ][ 0 ] = 32; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 2 ] = 52; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 3 ] = 61; + + movesAllowed[Piece.BISHOP][ 26 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ][ 1 ] = 8; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 1 ] = 12; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 2 ] = 5; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ][ 1 ] = 40; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 2 ] = 53; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 3 ] = 62; + + movesAllowed[Piece.BISHOP][ 27 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 1 ] = 9; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 2 ] = 0; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 1 ] = 13; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 2 ] = 6; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 1 ] = 41; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 2 ] = 48; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 2 ] = 54; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 3 ] = 63; + + movesAllowed[Piece.BISHOP][ 28 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 1 ] = 10; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 2 ] = 1; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 1 ] = 14; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 2 ] = 7; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 2 ] = 49; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 3 ] = 56; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 1 ] = 46; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 2 ] = 55; + + movesAllowed[Piece.BISHOP][ 29 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 1 ] = 11; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 2 ] = 2; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ][ 1 ] = 15; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 2 ] = 50; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 3 ] = 57; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 1 ] = 47; + + movesAllowed[Piece.BISHOP][ 30 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 1 ] = 12; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 2 ] = 3; + movesAllowed[Piece.BISHOP][ 30 ][ 1 ][ 0 ] = 23; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 2 ] = 51; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 3 ] = 58; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ][ 0 ] = 39; + + movesAllowed[Piece.BISHOP][ 31 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 1 ] = 13; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 2 ] = 4; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 2 ] = 52; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 3 ] = 59; + + movesAllowed[Piece.BISHOP][ 32 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 2 ] = 11; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 3 ] = 4; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 1 ] = 50; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 2 ] = 59; + + movesAllowed[Piece.BISHOP][ 33 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 33 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 0 ][ 0 ] = 24; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 2 ] = 12; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 3 ] = 5; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ][ 0 ] = 40; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 1 ] = 51; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 2 ] = 60; + + movesAllowed[Piece.BISHOP][ 34 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ][ 1 ] = 16; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 2 ] = 13; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 3 ] = 6; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 1 ] = 48; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 1 ] = 52; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 2 ] = 61; + + movesAllowed[Piece.BISHOP][ 35 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 1 ] = 17; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 2 ] = 8; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 2 ] = 14; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 3 ] = 7; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 1 ] = 49; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 2 ] = 56; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 1 ] = 53; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 2 ] = 62; + + movesAllowed[Piece.BISHOP][ 36 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 2 ] = 9; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 3 ] = 0; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 1 ] = 22; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 2 ] = 15; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 1 ] = 50; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 2 ] = 57; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 1 ] = 54; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 2 ] = 63; + + movesAllowed[Piece.BISHOP][ 37 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 2 ] = 10; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 3 ] = 1; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ][ 1 ] = 23; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 1 ] = 51; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 2 ] = 58; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ][ 1 ] = 55; + + movesAllowed[Piece.BISHOP][ 38 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 2 ] = 11; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 3 ] = 2; + movesAllowed[Piece.BISHOP][ 38 ][ 1 ][ 0 ] = 31; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 1 ] = 52; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 2 ] = 59; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ][ 0 ] = 47; + + movesAllowed[Piece.BISHOP][ 39 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 2 ] = 12; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 3 ] = 3; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 1 ] = 53; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 2 ] = 60; + + movesAllowed[Piece.BISHOP][ 40 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 2 ] = 19; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 3 ] = 12; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 4 ] = 5; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 1 ] = 58; + + movesAllowed[Piece.BISHOP][ 41 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 41 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 0 ][ 0 ] = 32; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 2 ] = 20; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 3 ] = 13; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 4 ] = 6; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 0 ] = 48; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ][ 1 ] = 59; + + movesAllowed[Piece.BISHOP][ 42 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ][ 1 ] = 24; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 2 ] = 21; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 3 ] = 14; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 4 ] = 7; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 1 ] = 56; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ][ 1 ] = 60; + + movesAllowed[Piece.BISHOP][ 43 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 1 ] = 25; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 2 ] = 16; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 2 ] = 22; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 3 ] = 15; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 1 ] = 57; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ][ 1 ] = 61; + + movesAllowed[Piece.BISHOP][ 44 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 2 ] = 17; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 3 ] = 8; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 1 ] = 30; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 2 ] = 23; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 1 ] = 58; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ][ 1 ] = 62; + + movesAllowed[Piece.BISHOP][ 45 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 2 ] = 18; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 3 ] = 9; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 4 ] = 0; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ][ 1 ] = 31; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 1 ] = 59; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ][ 1 ] = 63; + + movesAllowed[Piece.BISHOP][ 46 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 2 ] = 19; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 3 ] = 10; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 4 ] = 1; + movesAllowed[Piece.BISHOP][ 46 ][ 1 ][ 0 ] = 39; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 1 ] = 60; + movesAllowed[Piece.BISHOP][ 46 ][ 3 ][ 0 ] = 55; + + movesAllowed[Piece.BISHOP][ 47 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 2 ] = 20; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 3 ] = 11; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 4 ] = 2; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 1 ] = 61; + + movesAllowed[Piece.BISHOP][ 48 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 3 ] = 20; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 4 ] = 13; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 5 ] = 6; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 0 ] = 57; + + movesAllowed[Piece.BISHOP][ 49 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 49 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 3 ] = 21; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 4 ] = 14; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 5 ] = 7; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 0 ] = 56; + movesAllowed[Piece.BISHOP][ 49 ][ 3 ][ 0 ] = 58; + + movesAllowed[Piece.BISHOP][ 50 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ][ 1 ] = 32; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 2 ] = 29; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 3 ] = 22; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 4 ] = 15; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 0 ] = 57; + movesAllowed[Piece.BISHOP][ 50 ][ 3 ][ 0 ] = 59; + + movesAllowed[Piece.BISHOP][ 51 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 1 ] = 33; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 2 ] = 24; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 2 ] = 30; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 3 ] = 23; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 0 ] = 58; + movesAllowed[Piece.BISHOP][ 51 ][ 3 ][ 0 ] = 60; + + movesAllowed[Piece.BISHOP][ 52 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 2 ] = 25; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 3 ] = 16; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 1 ] = 38; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 2 ] = 31; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 0 ] = 59; + movesAllowed[Piece.BISHOP][ 52 ][ 3 ][ 0 ] = 61; + + movesAllowed[Piece.BISHOP][ 53 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 2 ] = 26; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 3 ] = 17; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 4 ] = 8; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ][ 1 ] = 39; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 0 ] = 60; + movesAllowed[Piece.BISHOP][ 53 ][ 3 ][ 0 ] = 62; + + movesAllowed[Piece.BISHOP][ 54 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 3 ] = 18; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 4 ] = 9; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 5 ] = 0; + movesAllowed[Piece.BISHOP][ 54 ][ 1 ][ 0 ] = 47; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 0 ] = 61; + movesAllowed[Piece.BISHOP][ 54 ][ 3 ][ 0 ] = 63; + + movesAllowed[Piece.BISHOP][ 55 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 3 ] = 19; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 4 ] = 10; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 5 ] = 1; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 0 ] = 62; + + movesAllowed[Piece.BISHOP][ 56 ] = new int[ 1 ][ 7 ]; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 3 ] = 28; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 4 ] = 21; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 5 ] = 14; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 6 ] = 7; + + movesAllowed[Piece.BISHOP][ 57 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 57 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 57 ][ 0 ][ 0 ] = 48; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 3 ] = 29; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 4 ] = 22; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 5 ] = 15; + + movesAllowed[Piece.BISHOP][ 58 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ][ 1 ] = 40; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 2 ] = 37; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 3 ] = 30; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 4 ] = 23; + + movesAllowed[Piece.BISHOP][ 59 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 1 ] = 41; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 2 ] = 32; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 2 ] = 38; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 3 ] = 31; + + movesAllowed[Piece.BISHOP][ 60 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 2 ] = 33; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 3 ] = 24; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 1 ] = 46; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 2 ] = 39; + + movesAllowed[Piece.BISHOP][ 61 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 2 ] = 34; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 3 ] = 25; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 4 ] = 16; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ][ 1 ] = 47; + + movesAllowed[Piece.BISHOP][ 62 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 62 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 3 ] = 26; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 4 ] = 17; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 5 ] = 8; + movesAllowed[Piece.BISHOP][ 62 ][ 1 ][ 0 ] = 55; + + movesAllowed[Piece.BISHOP][ 63 ] = new int[ 1 ][ 7 ]; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 3 ] = 27; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 4 ] = 18; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 5 ] = 9; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 6 ] = 0; + + + /*======* + * ROOK * + *======*/ + movesAllowed[Piece.BISHOP] = new int[ 64 ][][]; + movesAllowed[Piece.BISHOP][ 0 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 1 ] = 2; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 2 ] = 3; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 3 ] = 4; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 4 ] = 5; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 5 ] = 6; + movesAllowed[Piece.BISHOP][ 0 ][ 0 ][ 6 ] = 7; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 0 ] = 8; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 1 ] = 16; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 2 ] = 24; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 3 ] = 32; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 4 ] = 40; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 5 ] = 48; + movesAllowed[Piece.BISHOP][ 0 ][ 1 ][ 6 ] = 56; + + movesAllowed[Piece.BISHOP][ 1 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 1 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 1 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 0 ] = 2; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 1 ] = 3; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 2 ] = 4; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 3 ] = 5; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 4 ] = 6; + movesAllowed[Piece.BISHOP][ 1 ][ 1 ][ 5 ] = 7; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 1 ] = 17; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 2 ] = 25; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 3 ] = 33; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 4 ] = 41; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 5 ] = 49; + movesAllowed[Piece.BISHOP][ 1 ][ 2 ][ 6 ] = 57; + + movesAllowed[Piece.BISHOP][ 2 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.BISHOP][ 2 ][ 0 ][ 1 ] = 0; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 0 ] = 3; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 1 ] = 4; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 2 ] = 5; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 3 ] = 6; + movesAllowed[Piece.BISHOP][ 2 ][ 1 ][ 4 ] = 7; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 2 ] = 26; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 3 ] = 34; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 4 ] = 42; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 5 ] = 50; + movesAllowed[Piece.BISHOP][ 2 ][ 2 ][ 6 ] = 58; + + movesAllowed[Piece.BISHOP][ 3 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 1 ] = 1; + movesAllowed[Piece.BISHOP][ 3 ][ 0 ][ 2 ] = 0; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 1 ] = 5; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 2 ] = 6; + movesAllowed[Piece.BISHOP][ 3 ][ 1 ][ 3 ] = 7; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 3 ] = 35; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 4 ] = 43; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 5 ] = 51; + movesAllowed[Piece.BISHOP][ 3 ][ 2 ][ 6 ] = 59; + + movesAllowed[Piece.BISHOP][ 4 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 1 ] = 2; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 2 ] = 1; + movesAllowed[Piece.BISHOP][ 4 ][ 0 ][ 3 ] = 0; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 1 ] = 6; + movesAllowed[Piece.BISHOP][ 4 ][ 1 ][ 2 ] = 7; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 3 ] = 36; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 4 ] = 44; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 5 ] = 52; + movesAllowed[Piece.BISHOP][ 4 ][ 2 ][ 6 ] = 60; + + movesAllowed[Piece.BISHOP][ 5 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 0 ] = 4; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 1 ] = 3; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 2 ] = 2; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 3 ] = 1; + movesAllowed[Piece.BISHOP][ 5 ][ 0 ][ 4 ] = 0; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.BISHOP][ 5 ][ 1 ][ 1 ] = 7; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 2 ] = 29; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 3 ] = 37; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 4 ] = 45; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 5 ] = 53; + movesAllowed[Piece.BISHOP][ 5 ][ 2 ][ 6 ] = 61; + + movesAllowed[Piece.BISHOP][ 6 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 6 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 1 ] = 4; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 2 ] = 3; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 3 ] = 2; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 4 ] = 1; + movesAllowed[Piece.BISHOP][ 6 ][ 0 ][ 5 ] = 0; + movesAllowed[Piece.BISHOP][ 6 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 1 ] = 22; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 2 ] = 30; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 3 ] = 38; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 4 ] = 46; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 5 ] = 54; + movesAllowed[Piece.BISHOP][ 6 ][ 2 ][ 6 ] = 62; + + movesAllowed[Piece.BISHOP][ 7 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 0 ] = 6; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 1 ] = 5; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 2 ] = 4; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 3 ] = 3; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 4 ] = 2; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 5 ] = 1; + movesAllowed[Piece.BISHOP][ 7 ][ 0 ][ 6 ] = 0; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 1 ] = 23; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 2 ] = 31; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 3 ] = 39; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 4 ] = 47; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 5 ] = 55; + movesAllowed[Piece.BISHOP][ 7 ][ 1 ][ 6 ] = 63; + + movesAllowed[Piece.BISHOP][ 8 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 1 ] = 10; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 2 ] = 11; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 3 ] = 12; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 4 ] = 13; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 5 ] = 14; + movesAllowed[Piece.BISHOP][ 8 ][ 0 ][ 6 ] = 15; + movesAllowed[Piece.BISHOP][ 8 ][ 1 ][ 0 ] = 0; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 0 ] = 16; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 1 ] = 24; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 2 ] = 32; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 3 ] = 40; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 4 ] = 48; + movesAllowed[Piece.BISHOP][ 8 ][ 2 ][ 5 ] = 56; + + movesAllowed[Piece.BISHOP][ 9 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 9 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 9 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 1 ] = 11; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 2 ] = 12; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 3 ] = 13; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 4 ] = 14; + movesAllowed[Piece.BISHOP][ 9 ][ 1 ][ 5 ] = 15; + movesAllowed[Piece.BISHOP][ 9 ][ 2 ][ 0 ] = 1; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 1 ] = 25; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 2 ] = 33; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 3 ] = 41; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 4 ] = 49; + movesAllowed[Piece.BISHOP][ 9 ][ 3 ][ 5 ] = 57; + + movesAllowed[Piece.BISHOP][ 10 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 10 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 10 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 10 ][ 0 ][ 1 ] = 8; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 1 ] = 12; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 2 ] = 13; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 3 ] = 14; + movesAllowed[Piece.BISHOP][ 10 ][ 1 ][ 4 ] = 15; + movesAllowed[Piece.BISHOP][ 10 ][ 2 ][ 0 ] = 2; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 2 ] = 34; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 3 ] = 42; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 4 ] = 50; + movesAllowed[Piece.BISHOP][ 10 ][ 3 ][ 5 ] = 58; + + movesAllowed[Piece.BISHOP][ 11 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ][ 1 ] = 9; + movesAllowed[Piece.BISHOP][ 11 ][ 0 ][ 2 ] = 8; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ][ 1 ] = 13; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ][ 2 ] = 14; + movesAllowed[Piece.BISHOP][ 11 ][ 1 ][ 3 ] = 15; + movesAllowed[Piece.BISHOP][ 11 ][ 2 ][ 0 ] = 3; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 3 ] = 43; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 4 ] = 51; + movesAllowed[Piece.BISHOP][ 11 ][ 3 ][ 5 ] = 59; + + movesAllowed[Piece.BISHOP][ 12 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ][ 1 ] = 10; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ][ 2 ] = 9; + movesAllowed[Piece.BISHOP][ 12 ][ 0 ][ 3 ] = 8; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ][ 1 ] = 14; + movesAllowed[Piece.BISHOP][ 12 ][ 1 ][ 2 ] = 15; + movesAllowed[Piece.BISHOP][ 12 ][ 2 ][ 0 ] = 4; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 3 ] = 44; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 4 ] = 52; + movesAllowed[Piece.BISHOP][ 12 ][ 3 ][ 5 ] = 60; + + movesAllowed[Piece.BISHOP][ 13 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 1 ] = 11; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 2 ] = 10; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 3 ] = 9; + movesAllowed[Piece.BISHOP][ 13 ][ 0 ][ 4 ] = 8; + movesAllowed[Piece.BISHOP][ 13 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 13 ][ 1 ][ 1 ] = 15; + movesAllowed[Piece.BISHOP][ 13 ][ 2 ][ 0 ] = 5; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 2 ] = 37; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 3 ] = 45; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 4 ] = 53; + movesAllowed[Piece.BISHOP][ 13 ][ 3 ][ 5 ] = 61; + + movesAllowed[Piece.BISHOP][ 14 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 1 ] = 12; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 2 ] = 11; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 3 ] = 10; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 4 ] = 9; + movesAllowed[Piece.BISHOP][ 14 ][ 0 ][ 5 ] = 8; + movesAllowed[Piece.BISHOP][ 14 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.BISHOP][ 14 ][ 2 ][ 0 ] = 6; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 1 ] = 30; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 2 ] = 38; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 3 ] = 46; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 4 ] = 54; + movesAllowed[Piece.BISHOP][ 14 ][ 3 ][ 5 ] = 62; + + movesAllowed[Piece.BISHOP][ 15 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 1 ] = 13; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 2 ] = 12; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 3 ] = 11; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 4 ] = 10; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 5 ] = 9; + movesAllowed[Piece.BISHOP][ 15 ][ 0 ][ 6 ] = 8; + movesAllowed[Piece.BISHOP][ 15 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 0 ] = 23; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 1 ] = 31; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 2 ] = 39; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 3 ] = 47; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 4 ] = 55; + movesAllowed[Piece.BISHOP][ 15 ][ 2 ][ 5 ] = 63; + + movesAllowed[Piece.BISHOP][ 16 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.BISHOP][ 16 ][ 0 ][ 1 ] = 0; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 0 ] = 24; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 1 ] = 32; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 2 ] = 40; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 3 ] = 48; + movesAllowed[Piece.BISHOP][ 16 ][ 1 ][ 4 ] = 56; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 2 ] = 19; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 3 ] = 20; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 4 ] = 21; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 5 ] = 22; + movesAllowed[Piece.BISHOP][ 16 ][ 2 ][ 6 ] = 23; + + movesAllowed[Piece.BISHOP][ 17 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 17 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 17 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 2 ] = 20; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 3 ] = 21; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 4 ] = 22; + movesAllowed[Piece.BISHOP][ 17 ][ 1 ][ 5 ] = 23; + movesAllowed[Piece.BISHOP][ 17 ][ 2 ][ 0 ] = 9; + movesAllowed[Piece.BISHOP][ 17 ][ 2 ][ 1 ] = 1; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 1 ] = 33; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 2 ] = 41; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 3 ] = 49; + movesAllowed[Piece.BISHOP][ 17 ][ 3 ][ 4 ] = 57; + + movesAllowed[Piece.BISHOP][ 18 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 18 ][ 0 ][ 1 ] = 16; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 2 ] = 21; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 3 ] = 22; + movesAllowed[Piece.BISHOP][ 18 ][ 1 ][ 4 ] = 23; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ][ 0 ] = 10; + movesAllowed[Piece.BISHOP][ 18 ][ 2 ][ 1 ] = 2; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 2 ] = 42; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 3 ] = 50; + movesAllowed[Piece.BISHOP][ 18 ][ 3 ][ 4 ] = 58; + + movesAllowed[Piece.BISHOP][ 19 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ][ 1 ] = 17; + movesAllowed[Piece.BISHOP][ 19 ][ 0 ][ 2 ] = 16; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 2 ] = 22; + movesAllowed[Piece.BISHOP][ 19 ][ 1 ][ 3 ] = 23; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.BISHOP][ 19 ][ 2 ][ 1 ] = 3; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 2 ] = 43; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 3 ] = 51; + movesAllowed[Piece.BISHOP][ 19 ][ 3 ][ 4 ] = 59; + + movesAllowed[Piece.BISHOP][ 20 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 2 ] = 17; + movesAllowed[Piece.BISHOP][ 20 ][ 0 ][ 3 ] = 16; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ][ 1 ] = 22; + movesAllowed[Piece.BISHOP][ 20 ][ 1 ][ 2 ] = 23; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 0 ] = 12; + movesAllowed[Piece.BISHOP][ 20 ][ 2 ][ 1 ] = 4; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 2 ] = 44; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 3 ] = 52; + movesAllowed[Piece.BISHOP][ 20 ][ 3 ][ 4 ] = 60; + + movesAllowed[Piece.BISHOP][ 21 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 2 ] = 18; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 3 ] = 17; + movesAllowed[Piece.BISHOP][ 21 ][ 0 ][ 4 ] = 16; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 21 ][ 1 ][ 1 ] = 23; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 0 ] = 13; + movesAllowed[Piece.BISHOP][ 21 ][ 2 ][ 1 ] = 5; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 2 ] = 45; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 3 ] = 53; + movesAllowed[Piece.BISHOP][ 21 ][ 3 ][ 4 ] = 61; + + movesAllowed[Piece.BISHOP][ 22 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 2 ] = 19; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 3 ] = 18; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 4 ] = 17; + movesAllowed[Piece.BISHOP][ 22 ][ 0 ][ 5 ] = 16; + movesAllowed[Piece.BISHOP][ 22 ][ 1 ][ 0 ] = 23; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 0 ] = 14; + movesAllowed[Piece.BISHOP][ 22 ][ 2 ][ 1 ] = 6; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 1 ] = 38; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 2 ] = 46; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 3 ] = 54; + movesAllowed[Piece.BISHOP][ 22 ][ 3 ][ 4 ] = 62; + + movesAllowed[Piece.BISHOP][ 23 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 2 ] = 20; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 3 ] = 19; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 4 ] = 18; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 5 ] = 17; + movesAllowed[Piece.BISHOP][ 23 ][ 0 ][ 6 ] = 16; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.BISHOP][ 23 ][ 1 ][ 1 ] = 7; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ][ 0 ] = 31; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ][ 1 ] = 39; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ][ 2 ] = 47; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ][ 3 ] = 55; + movesAllowed[Piece.BISHOP][ 23 ][ 2 ][ 4 ] = 63; + + movesAllowed[Piece.BISHOP][ 24 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 1 ] = 8; + movesAllowed[Piece.BISHOP][ 24 ][ 0 ][ 2 ] = 8; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 0 ] = 32; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 1 ] = 40; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 2 ] = 48; + movesAllowed[Piece.BISHOP][ 24 ][ 1 ][ 3 ] = 56; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 3 ] = 28; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 4 ] = 29; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 5 ] = 30; + movesAllowed[Piece.BISHOP][ 24 ][ 2 ][ 6 ] = 31; + + movesAllowed[Piece.BISHOP][ 25 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 25 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 25 ][ 0 ][ 0 ] = 24; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 3 ] = 29; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 4 ] = 30; + movesAllowed[Piece.BISHOP][ 25 ][ 1 ][ 5 ] = 31; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ][ 0 ] = 17; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ][ 1 ] = 9; + movesAllowed[Piece.BISHOP][ 25 ][ 2 ][ 2 ] = 1; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 1 ] = 41; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 2 ] = 49; + movesAllowed[Piece.BISHOP][ 25 ][ 3 ][ 3 ] = 57; + + movesAllowed[Piece.BISHOP][ 26 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 26 ][ 0 ][ 1 ] = 24; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 2 ] = 29; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 3 ] = 30; + movesAllowed[Piece.BISHOP][ 26 ][ 1 ][ 4 ] = 31; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ][ 0 ] = 18; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ][ 1 ] = 10; + movesAllowed[Piece.BISHOP][ 26 ][ 2 ][ 2 ] = 2; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 2 ] = 50; + movesAllowed[Piece.BISHOP][ 26 ][ 3 ][ 3 ] = 58; + + movesAllowed[Piece.BISHOP][ 27 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 1 ] = 25; + movesAllowed[Piece.BISHOP][ 27 ][ 0 ][ 2 ] = 24; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 2 ] = 30; + movesAllowed[Piece.BISHOP][ 27 ][ 1 ][ 3 ] = 31; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 0 ] = 19; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 1 ] = 11; + movesAllowed[Piece.BISHOP][ 27 ][ 2 ][ 2 ] = 3; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 2 ] = 51; + movesAllowed[Piece.BISHOP][ 27 ][ 3 ][ 3 ] = 59; + + movesAllowed[Piece.BISHOP][ 28 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 2 ] = 25; + movesAllowed[Piece.BISHOP][ 28 ][ 0 ][ 3 ] = 24; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 1 ] = 30; + movesAllowed[Piece.BISHOP][ 28 ][ 1 ][ 2 ] = 31; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 1 ] = 12; + movesAllowed[Piece.BISHOP][ 28 ][ 2 ][ 2 ] = 4; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 2 ] = 52; + movesAllowed[Piece.BISHOP][ 28 ][ 3 ][ 3 ] = 60; + + movesAllowed[Piece.BISHOP][ 29 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 2 ] = 26; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 3 ] = 25; + movesAllowed[Piece.BISHOP][ 29 ][ 0 ][ 4 ] = 24; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 29 ][ 1 ][ 1 ] = 31; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 1 ] = 13; + movesAllowed[Piece.BISHOP][ 29 ][ 2 ][ 2 ] = 5; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 2 ] = 53; + movesAllowed[Piece.BISHOP][ 29 ][ 3 ][ 3 ] = 61; + + movesAllowed[Piece.BISHOP][ 30 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 3 ] = 26; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 4 ] = 25; + movesAllowed[Piece.BISHOP][ 30 ][ 0 ][ 5 ] = 24; + movesAllowed[Piece.BISHOP][ 30 ][ 1 ][ 0 ] = 31; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 1 ] = 14; + movesAllowed[Piece.BISHOP][ 30 ][ 2 ][ 2 ] = 6; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ][ 1 ] = 46; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ][ 2 ] = 54; + movesAllowed[Piece.BISHOP][ 30 ][ 3 ][ 3 ] = 62; + + movesAllowed[Piece.BISHOP][ 31 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 31 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 3 ] = 27; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 4 ] = 26; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 5 ] = 25; + movesAllowed[Piece.BISHOP][ 31 ][ 0 ][ 6 ] = 24; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 0 ] = 23; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 1 ] = 15; + movesAllowed[Piece.BISHOP][ 31 ][ 1 ][ 2 ] = 7; + movesAllowed[Piece.BISHOP][ 31 ][ 2 ][ 0 ] = 39; + movesAllowed[Piece.BISHOP][ 31 ][ 2 ][ 1 ] = 47; + movesAllowed[Piece.BISHOP][ 31 ][ 2 ][ 2 ] = 55; + movesAllowed[Piece.BISHOP][ 31 ][ 2 ][ 3 ] = 63; + + movesAllowed[Piece.BISHOP][ 32 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 32 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 3 ] = 36; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 4 ] = 37; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 5 ] = 38; + movesAllowed[Piece.BISHOP][ 32 ][ 0 ][ 6 ] = 39; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 0 ] = 40; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 1 ] = 48; + movesAllowed[Piece.BISHOP][ 32 ][ 1 ][ 2 ] = 56; + movesAllowed[Piece.BISHOP][ 32 ][ 2 ][ 0 ] = 24; + movesAllowed[Piece.BISHOP][ 32 ][ 2 ][ 1 ] = 16; + movesAllowed[Piece.BISHOP][ 32 ][ 2 ][ 2 ] = 8; + movesAllowed[Piece.BISHOP][ 32 ][ 2 ][ 3 ] = 0; + + movesAllowed[Piece.BISHOP][ 33 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 33 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 33 ][ 0 ][ 0 ] = 32; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 3 ] = 37; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 4 ] = 38; + movesAllowed[Piece.BISHOP][ 33 ][ 1 ][ 5 ] = 39; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ][ 0 ] = 25; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ][ 1 ] = 17; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ][ 2 ] = 9; + movesAllowed[Piece.BISHOP][ 33 ][ 2 ][ 3 ] = 1; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 1 ] = 49; + movesAllowed[Piece.BISHOP][ 33 ][ 3 ][ 2 ] = 57; + + movesAllowed[Piece.BISHOP][ 34 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 34 ][ 0 ][ 1 ] = 32; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 2 ] = 37; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 3 ] = 38; + movesAllowed[Piece.BISHOP][ 34 ][ 1 ][ 4 ] = 39; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 0 ] = 26; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 1 ] = 18; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 2 ] = 10; + movesAllowed[Piece.BISHOP][ 34 ][ 2 ][ 3 ] = 2; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 1 ] = 50; + movesAllowed[Piece.BISHOP][ 34 ][ 3 ][ 2 ] = 58; + + movesAllowed[Piece.BISHOP][ 35 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 1 ] = 33; + movesAllowed[Piece.BISHOP][ 35 ][ 0 ][ 2 ] = 32; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 2 ] = 38; + movesAllowed[Piece.BISHOP][ 35 ][ 1 ][ 3 ] = 39; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 0 ] = 27; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 1 ] = 19; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 2 ] = 11; + movesAllowed[Piece.BISHOP][ 35 ][ 2 ][ 3 ] = 3; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 1 ] = 51; + movesAllowed[Piece.BISHOP][ 35 ][ 3 ][ 2 ] = 59; + + movesAllowed[Piece.BISHOP][ 36 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 2 ] = 33; + movesAllowed[Piece.BISHOP][ 36 ][ 0 ][ 3 ] = 32; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 1 ] = 38; + movesAllowed[Piece.BISHOP][ 36 ][ 1 ][ 2 ] = 39; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 0 ] = 28; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 1 ] = 20; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 2 ] = 12; + movesAllowed[Piece.BISHOP][ 36 ][ 2 ][ 3 ] = 4; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 1 ] = 52; + movesAllowed[Piece.BISHOP][ 36 ][ 3 ][ 2 ] = 60; + + movesAllowed[Piece.BISHOP][ 37 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 2 ] = 34; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 3 ] = 33; + movesAllowed[Piece.BISHOP][ 37 ][ 0 ][ 4 ] = 32; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 37 ][ 1 ][ 1 ] = 39; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 0 ] = 29; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 1 ] = 21; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 2 ] = 13; + movesAllowed[Piece.BISHOP][ 37 ][ 2 ][ 3 ] = 5; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ][ 1 ] = 53; + movesAllowed[Piece.BISHOP][ 37 ][ 3 ][ 2 ] = 61; + + movesAllowed[Piece.BISHOP][ 38 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 3 ] = 34; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 4 ] = 33; + movesAllowed[Piece.BISHOP][ 38 ][ 0 ][ 5 ] = 32; + movesAllowed[Piece.BISHOP][ 38 ][ 1 ][ 0 ] = 39; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 0 ] = 30; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 1 ] = 22; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 2 ] = 14; + movesAllowed[Piece.BISHOP][ 38 ][ 2 ][ 3 ] = 6; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ][ 1 ] = 54; + movesAllowed[Piece.BISHOP][ 38 ][ 3 ][ 2 ] = 62; + + movesAllowed[Piece.BISHOP][ 39 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 39 ][ 2 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 3 ] = 35; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 4 ] = 34; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 5 ] = 33; + movesAllowed[Piece.BISHOP][ 39 ][ 0 ][ 6 ] = 32; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 0 ] = 31; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 1 ] = 23; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 2 ] = 15; + movesAllowed[Piece.BISHOP][ 39 ][ 1 ][ 3 ] = 7; + movesAllowed[Piece.BISHOP][ 39 ][ 2 ][ 0 ] = 47; + movesAllowed[Piece.BISHOP][ 39 ][ 2 ][ 1 ] = 55; + movesAllowed[Piece.BISHOP][ 39 ][ 2 ][ 2 ] = 63; + + movesAllowed[Piece.BISHOP][ 40 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 40 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 2 ] = 43; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 3 ] = 44; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 4 ] = 45; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 5 ] = 46; + movesAllowed[Piece.BISHOP][ 40 ][ 0 ][ 6 ] = 47; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 0 ] = 32; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 1 ] = 24; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 2 ] = 16; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 3 ] = 8; + movesAllowed[Piece.BISHOP][ 40 ][ 1 ][ 4 ] = 0; + movesAllowed[Piece.BISHOP][ 40 ][ 2 ][ 0 ] = 48; + movesAllowed[Piece.BISHOP][ 40 ][ 2 ][ 1 ] = 56; + + movesAllowed[Piece.BISHOP][ 41 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 41 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 41 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 2 ] = 44; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 3 ] = 45; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 4 ] = 46; + movesAllowed[Piece.BISHOP][ 41 ][ 1 ][ 5 ] = 47; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 0 ] = 33; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 1 ] = 25; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 2 ] = 17; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 3 ] = 9; + movesAllowed[Piece.BISHOP][ 41 ][ 2 ][ 4 ] = 1; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 41 ][ 3 ][ 1 ] = 57; + + movesAllowed[Piece.BISHOP][ 42 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 42 ][ 0 ][ 1 ] = 40; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 2 ] = 45; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 3 ] = 46; + movesAllowed[Piece.BISHOP][ 42 ][ 1 ][ 4 ] = 47; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 0 ] = 34; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 1 ] = 26; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 2 ] = 18; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 3 ] = 10; + movesAllowed[Piece.BISHOP][ 42 ][ 2 ][ 4 ] = 2; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 42 ][ 3 ][ 1 ] = 58; + + movesAllowed[Piece.BISHOP][ 43 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 1 ] = 41; + movesAllowed[Piece.BISHOP][ 43 ][ 0 ][ 2 ] = 40; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 2 ] = 46; + movesAllowed[Piece.BISHOP][ 43 ][ 1 ][ 3 ] = 47; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 0 ] = 35; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 1 ] = 27; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 2 ] = 19; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 3 ] = 11; + movesAllowed[Piece.BISHOP][ 43 ][ 2 ][ 4 ] = 3; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 43 ][ 3 ][ 1 ] = 59; + + movesAllowed[Piece.BISHOP][ 44 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 2 ] = 41; + movesAllowed[Piece.BISHOP][ 44 ][ 0 ][ 3 ] = 40; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 1 ] = 46; + movesAllowed[Piece.BISHOP][ 44 ][ 1 ][ 2 ] = 47; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 0 ] = 36; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 1 ] = 28; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 2 ] = 20; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 3 ] = 12; + movesAllowed[Piece.BISHOP][ 44 ][ 2 ][ 4 ] = 4; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 44 ][ 3 ][ 1 ] = 60; + + movesAllowed[Piece.BISHOP][ 45 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 2 ] = 42; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 3 ] = 41; + movesAllowed[Piece.BISHOP][ 45 ][ 0 ][ 4 ] = 40; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 45 ][ 1 ][ 1 ] = 47; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 1 ] = 29; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 2 ] = 21; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 3 ] = 13; + movesAllowed[Piece.BISHOP][ 45 ][ 2 ][ 4 ] = 5; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 45 ][ 3 ][ 1 ] = 61; + + movesAllowed[Piece.BISHOP][ 46 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 3 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 2 ] = 43; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 3 ] = 42; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 4 ] = 41; + movesAllowed[Piece.BISHOP][ 46 ][ 0 ][ 5 ] = 40; + movesAllowed[Piece.BISHOP][ 46 ][ 1 ][ 0 ] = 47; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 0 ] = 38; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 1 ] = 30; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 2 ] = 22; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 3 ] = 14; + movesAllowed[Piece.BISHOP][ 46 ][ 2 ][ 4 ] = 6; + movesAllowed[Piece.BISHOP][ 46 ][ 3 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 46 ][ 3 ][ 1 ] = 62; + + movesAllowed[Piece.BISHOP][ 47 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 47 ][ 2 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 2 ] = 44; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 3 ] = 43; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 4 ] = 42; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 5 ] = 41; + movesAllowed[Piece.BISHOP][ 47 ][ 0 ][ 6 ] = 40; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 0 ] = 39; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 1 ] = 31; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 2 ] = 23; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 3 ] = 15; + movesAllowed[Piece.BISHOP][ 47 ][ 1 ][ 4 ] = 7; + movesAllowed[Piece.BISHOP][ 47 ][ 2 ][ 0 ] = 55; + movesAllowed[Piece.BISHOP][ 47 ][ 2 ][ 1 ] = 63; + + movesAllowed[Piece.BISHOP][ 48 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 48 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 1 ] = 50; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 2 ] = 51; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 3 ] = 52; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 4 ] = 53; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 5 ] = 54; + movesAllowed[Piece.BISHOP][ 48 ][ 0 ][ 6 ] = 55; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 0 ] = 40; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 1 ] = 32; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 2 ] = 24; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 3 ] = 16; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 4 ] = 8; + movesAllowed[Piece.BISHOP][ 48 ][ 1 ][ 5 ] = 0; + movesAllowed[Piece.BISHOP][ 48 ][ 2 ][ 0 ] = 56; + + movesAllowed[Piece.BISHOP][ 49 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 49 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 49 ][ 0 ][ 0 ] = 48; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 1 ] = 51; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 2 ] = 52; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 3 ] = 53; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 4 ] = 54; + movesAllowed[Piece.BISHOP][ 49 ][ 1 ][ 5 ] = 55; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 0 ] = 41; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 1 ] = 33; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 2 ] = 25; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 3 ] = 17; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 4 ] = 9; + movesAllowed[Piece.BISHOP][ 49 ][ 2 ][ 5 ] = 1; + movesAllowed[Piece.BISHOP][ 49 ][ 3 ][ 0 ] = 57; + + movesAllowed[Piece.BISHOP][ 50 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 50 ][ 0 ][ 1 ] = 48; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 1 ] = 52; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 2 ] = 53; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 3 ] = 54; + movesAllowed[Piece.BISHOP][ 50 ][ 1 ][ 4 ] = 55; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 0 ] = 42; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 1 ] = 34; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 2 ] = 26; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 3 ] = 18; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 4 ] = 10; + movesAllowed[Piece.BISHOP][ 50 ][ 2 ][ 5 ] = 2; + movesAllowed[Piece.BISHOP][ 50 ][ 3 ][ 0 ] = 58; + + movesAllowed[Piece.BISHOP][ 51 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 1 ] = 49; + movesAllowed[Piece.BISHOP][ 51 ][ 0 ][ 2 ] = 48; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 1 ] = 53; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 2 ] = 54; + movesAllowed[Piece.BISHOP][ 51 ][ 1 ][ 3 ] = 55; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 0 ] = 43; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 1 ] = 35; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 2 ] = 27; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 3 ] = 19; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 4 ] = 11; + movesAllowed[Piece.BISHOP][ 51 ][ 2 ][ 5 ] = 3; + movesAllowed[Piece.BISHOP][ 51 ][ 3 ][ 0 ] = 59; + + movesAllowed[Piece.BISHOP][ 52 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 1 ] = 50; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 2 ] = 49; + movesAllowed[Piece.BISHOP][ 52 ][ 0 ][ 3 ] = 48; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 1 ] = 54; + movesAllowed[Piece.BISHOP][ 52 ][ 1 ][ 2 ] = 55; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 0 ] = 44; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 1 ] = 36; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 2 ] = 28; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 3 ] = 20; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 4 ] = 12; + movesAllowed[Piece.BISHOP][ 52 ][ 2 ][ 5 ] = 4; + movesAllowed[Piece.BISHOP][ 52 ][ 3 ][ 0 ] = 60; + + movesAllowed[Piece.BISHOP][ 53 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 1 ] = 51; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 2 ] = 50; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 3 ] = 49; + movesAllowed[Piece.BISHOP][ 53 ][ 0 ][ 4 ] = 48; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 53 ][ 1 ][ 1 ] = 55; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 0 ] = 45; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 1 ] = 37; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 2 ] = 29; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 3 ] = 21; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 4 ] = 13; + movesAllowed[Piece.BISHOP][ 53 ][ 2 ][ 5 ] = 5; + movesAllowed[Piece.BISHOP][ 53 ][ 3 ][ 0 ] = 61; + + movesAllowed[Piece.BISHOP][ 54 ] = new int[ 4 ][]; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 3 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 1 ] = 52; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 2 ] = 51; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 3 ] = 50; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 4 ] = 49; + movesAllowed[Piece.BISHOP][ 54 ][ 0 ][ 5 ] = 48; + movesAllowed[Piece.BISHOP][ 54 ][ 1 ][ 0 ] = 55; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 0 ] = 46; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 1 ] = 38; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 2 ] = 30; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 3 ] = 22; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 4 ] = 14; + movesAllowed[Piece.BISHOP][ 54 ][ 2 ][ 5 ] = 6; + movesAllowed[Piece.BISHOP][ 54 ][ 3 ][ 0 ] = 62; + + movesAllowed[Piece.BISHOP][ 55 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 55 ][ 2 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 1 ] = 53; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 2 ] = 52; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 3 ] = 51; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 4 ] = 50; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 5 ] = 49; + movesAllowed[Piece.BISHOP][ 55 ][ 0 ][ 6 ] = 48; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 0 ] = 47; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 1 ] = 39; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 2 ] = 31; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 3 ] = 23; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 4 ] = 15; + movesAllowed[Piece.BISHOP][ 55 ][ 1 ][ 5 ] = 7; + movesAllowed[Piece.BISHOP][ 55 ][ 2 ][ 0 ] = 63; + + movesAllowed[Piece.BISHOP][ 56 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 0 ] = 57; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 1 ] = 58; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 2 ] = 59; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 3 ] = 60; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 4 ] = 61; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 5 ] = 62; + movesAllowed[Piece.BISHOP][ 56 ][ 0 ][ 6 ] = 63; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 0 ] = 48; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 1 ] = 40; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 2 ] = 32; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 3 ] = 24; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 4 ] = 16; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 5 ] = 8; + movesAllowed[Piece.BISHOP][ 56 ][ 1 ][ 6 ] = 0; + + movesAllowed[Piece.BISHOP][ 57 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 57 ][ 0 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 57 ][ 0 ][ 0 ] = 56; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 0 ] = 58; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 1 ] = 59; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 2 ] = 60; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 3 ] = 61; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 4 ] = 62; + movesAllowed[Piece.BISHOP][ 57 ][ 1 ][ 5 ] = 63; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 0 ] = 49; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 1 ] = 41; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 2 ] = 33; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 3 ] = 25; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 4 ] = 17; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 5 ] = 9; + movesAllowed[Piece.BISHOP][ 57 ][ 2 ][ 6 ] = 1; + + movesAllowed[Piece.BISHOP][ 58 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ][ 0 ] = 57; + movesAllowed[Piece.BISHOP][ 58 ][ 0 ][ 1 ] = 56; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 0 ] = 59; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 1 ] = 60; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 2 ] = 61; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 3 ] = 62; + movesAllowed[Piece.BISHOP][ 58 ][ 1 ][ 4 ] = 63; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 0 ] = 50; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 1 ] = 42; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 2 ] = 34; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 3 ] = 26; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 4 ] = 18; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 5 ] = 10; + movesAllowed[Piece.BISHOP][ 58 ][ 2 ][ 6 ] = 2; + + movesAllowed[Piece.BISHOP][ 59 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 0 ] = 58; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 1 ] = 57; + movesAllowed[Piece.BISHOP][ 59 ][ 0 ][ 2 ] = 56; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 0 ] = 60; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 1 ] = 61; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 2 ] = 62; + movesAllowed[Piece.BISHOP][ 59 ][ 1 ][ 3 ] = 63; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 0 ] = 51; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 1 ] = 43; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 2 ] = 35; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 3 ] = 27; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 4 ] = 19; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 5 ] = 11; + movesAllowed[Piece.BISHOP][ 59 ][ 2 ][ 6 ] = 3; + + movesAllowed[Piece.BISHOP][ 60 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ] = new int[ 4 ]; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ] = new int[ 3 ]; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 0 ] = 59; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 1 ] = 58; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 2 ] = 57; + movesAllowed[Piece.BISHOP][ 60 ][ 0 ][ 3 ] = 56; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 0 ] = 61; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 1 ] = 62; + movesAllowed[Piece.BISHOP][ 60 ][ 1 ][ 2 ] = 63; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 0 ] = 52; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 1 ] = 44; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 2 ] = 36; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 3 ] = 28; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 4 ] = 20; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 5 ] = 12; + movesAllowed[Piece.BISHOP][ 60 ][ 2 ][ 6 ] = 4; + + movesAllowed[Piece.BISHOP][ 61 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ] = new int[ 5 ]; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ] = new int[ 2 ]; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 0 ] = 60; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 1 ] = 59; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 2 ] = 58; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 3 ] = 57; + movesAllowed[Piece.BISHOP][ 61 ][ 0 ][ 4 ] = 56; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ][ 0 ] = 62; + movesAllowed[Piece.BISHOP][ 61 ][ 1 ][ 1 ] = 63; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 0 ] = 53; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 1 ] = 45; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 2 ] = 37; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 3 ] = 29; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 4 ] = 21; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 5 ] = 13; + movesAllowed[Piece.BISHOP][ 61 ][ 2 ][ 6 ] = 5; + + movesAllowed[Piece.BISHOP][ 62 ] = new int[ 3 ][]; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ] = new int[ 6 ]; + movesAllowed[Piece.BISHOP][ 62 ][ 1 ] = new int[ 1 ]; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 0 ] = 61; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 1 ] = 60; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 2 ] = 59; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 3 ] = 58; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 4 ] = 57; + movesAllowed[Piece.BISHOP][ 62 ][ 0 ][ 5 ] = 56; + movesAllowed[Piece.BISHOP][ 62 ][ 1 ][ 0 ] = 63; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 0 ] = 54; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 1 ] = 46; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 2 ] = 38; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 3 ] = 30; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 4 ] = 22; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 5 ] = 14; + movesAllowed[Piece.BISHOP][ 62 ][ 2 ][ 6 ] = 6; + + movesAllowed[Piece.BISHOP][ 63 ] = new int[ 2 ][]; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ] = new int[ 7 ]; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 0 ] = 62; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 1 ] = 61; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 2 ] = 60; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 3 ] = 59; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 4 ] = 58; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 5 ] = 57; + movesAllowed[Piece.BISHOP][ 63 ][ 0 ][ 6 ] = 56; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 0 ] = 55; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 1 ] = 47; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 2 ] = 39; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 3 ] = 31; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 4 ] = 23; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 5 ] = 15; + movesAllowed[Piece.BISHOP][ 63 ][ 1 ][ 6 ] = 7; + + + /*========* + * KNIGHT * + *========*/ + KnightMoves = new int[ 64 ][][]; + movesAllowed[Piece.KNIGHT][ 0 ] = new int[ 2 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 0 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 0 ][ 1 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 1 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 1 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.KNIGHT][ 1 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 1 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 2 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 2 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.KNIGHT][ 2 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 2 ][ 2 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 2 ][ 3 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 3 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 3 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.KNIGHT][ 3 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.KNIGHT][ 3 ][ 2 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 3 ][ 3 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 4 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 4 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 4 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.KNIGHT][ 4 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 4 ][ 3 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 5 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 5 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 5 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.KNIGHT][ 5 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.KNIGHT][ 5 ][ 3 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 6 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 6 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 6 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 6 ][ 2 ][ 0 ] = 23; + movesAllowed[Piece.KNIGHT][ 7 ] = new int[ 2 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 7 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.KNIGHT][ 7 ][ 1 ][ 0 ] = 22; + + movesAllowed[Piece.KNIGHT][ 8 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 8 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.KNIGHT][ 8 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 8 ][ 2 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 9 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 9 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.KNIGHT][ 9 ][ 1 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 9 ][ 2 ][ 0 ] = 24; + movesAllowed[Piece.KNIGHT][ 9 ][ 3 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 10 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 10 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.KNIGHT][ 10 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.KNIGHT][ 10 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 10 ][ 3 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 10 ][ 4 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 10 ][ 5 ][ 0 ] = 16; + movesAllowed[Piece.KNIGHT][ 11 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 11 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KNIGHT][ 11 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.KNIGHT][ 11 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 11 ][ 3 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 11 ][ 4 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 11 ][ 5 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 12 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 12 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.KNIGHT][ 12 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.KNIGHT][ 12 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.KNIGHT][ 12 ][ 3 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 12 ][ 4 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 12 ][ 5 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 13 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 13 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.KNIGHT][ 13 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.KNIGHT][ 13 ][ 2 ][ 0 ] = 23; + movesAllowed[Piece.KNIGHT][ 13 ][ 3 ][ 0 ] = 30; + movesAllowed[Piece.KNIGHT][ 13 ][ 4 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 13 ][ 5 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 14 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 14 ][ 0 ][ 0 ] = 31; + movesAllowed[Piece.KNIGHT][ 14 ][ 1 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 14 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 14 ][ 3 ][ 0 ] = 4; + movesAllowed[Piece.KNIGHT][ 15 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 15 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.KNIGHT][ 15 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 15 ][ 2 ][ 0 ] = 30; + + movesAllowed[Piece.KNIGHT][ 16 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 16 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KNIGHT][ 16 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 16 ][ 2 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 16 ][ 3 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 17 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 17 ][ 0 ][ 0 ] = 0; + movesAllowed[Piece.KNIGHT][ 17 ][ 1 ][ 0 ] = 2; + movesAllowed[Piece.KNIGHT][ 17 ][ 2 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 17 ][ 3 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 17 ][ 4 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 17 ][ 5 ][ 0 ] = 32; + movesAllowed[Piece.KNIGHT][ 18 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 18 ][ 0 ][ 0 ] = 1; + movesAllowed[Piece.KNIGHT][ 18 ][ 1 ][ 0 ] = 3; + movesAllowed[Piece.KNIGHT][ 18 ][ 2 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 18 ][ 3 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 18 ][ 4 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 18 ][ 5 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 18 ][ 6 ][ 0 ] = 24; + movesAllowed[Piece.KNIGHT][ 18 ][ 7 ][ 0 ] = 8; + movesAllowed[Piece.KNIGHT][ 19 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 19 ][ 0 ][ 0 ] = 2; + movesAllowed[Piece.KNIGHT][ 19 ][ 1 ][ 0 ] = 4; + movesAllowed[Piece.KNIGHT][ 19 ][ 2 ][ 0 ] = 13; + movesAllowed[Piece.KNIGHT][ 19 ][ 3 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 19 ][ 4 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 19 ][ 5 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 19 ][ 6 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 19 ][ 7 ][ 0 ] = 9; + movesAllowed[Piece.KNIGHT][ 20 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 20 ][ 0 ][ 0 ] = 3; + movesAllowed[Piece.KNIGHT][ 20 ][ 1 ][ 0 ] = 5; + movesAllowed[Piece.KNIGHT][ 20 ][ 2 ][ 0 ] = 14; + movesAllowed[Piece.KNIGHT][ 20 ][ 3 ][ 0 ] = 30; + movesAllowed[Piece.KNIGHT][ 20 ][ 4 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 20 ][ 5 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 20 ][ 6 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 20 ][ 7 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 21 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 21 ][ 0 ][ 0 ] = 4; + movesAllowed[Piece.KNIGHT][ 21 ][ 1 ][ 0 ] = 6; + movesAllowed[Piece.KNIGHT][ 21 ][ 2 ][ 0 ] = 15; + movesAllowed[Piece.KNIGHT][ 21 ][ 3 ][ 0 ] = 31; + movesAllowed[Piece.KNIGHT][ 21 ][ 4 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 21 ][ 5 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 21 ][ 6 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 21 ][ 7 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 22 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 22 ][ 0 ][ 0 ] = 5; + movesAllowed[Piece.KNIGHT][ 22 ][ 1 ][ 0 ] = 7; + movesAllowed[Piece.KNIGHT][ 22 ][ 2 ][ 0 ] = 39; + movesAllowed[Piece.KNIGHT][ 22 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 22 ][ 4 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 22 ][ 5 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 23 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 23 ][ 0 ][ 0 ] = 6; + movesAllowed[Piece.KNIGHT][ 23 ][ 1 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 23 ][ 2 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 23 ][ 3 ][ 0 ] = 13; + + movesAllowed[Piece.KNIGHT][ 24 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 24 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.KNIGHT][ 24 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 24 ][ 2 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 24 ][ 3 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 25 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 25 ][ 0 ][ 0 ] = 8; + movesAllowed[Piece.KNIGHT][ 25 ][ 1 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 25 ][ 2 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 25 ][ 3 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 25 ][ 4 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 25 ][ 5 ][ 0 ] = 40; + movesAllowed[Piece.KNIGHT][ 26 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 26 ][ 0 ][ 0 ] = 9; + movesAllowed[Piece.KNIGHT][ 26 ][ 1 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 26 ][ 2 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 26 ][ 3 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 26 ][ 4 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 26 ][ 5 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 26 ][ 6 ][ 0 ] = 32; + movesAllowed[Piece.KNIGHT][ 26 ][ 7 ][ 0 ] = 16; + movesAllowed[Piece.KNIGHT][ 27 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 27 ][ 0 ][ 0 ] = 10; + movesAllowed[Piece.KNIGHT][ 27 ][ 1 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 27 ][ 2 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 27 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 27 ][ 4 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 27 ][ 5 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 27 ][ 6 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 27 ][ 7 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 28 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 28 ][ 0 ][ 0 ] = 11; + movesAllowed[Piece.KNIGHT][ 28 ][ 1 ][ 0 ] = 13; + movesAllowed[Piece.KNIGHT][ 28 ][ 2 ][ 0 ] = 22; + movesAllowed[Piece.KNIGHT][ 28 ][ 3 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 28 ][ 4 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 28 ][ 5 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 28 ][ 6 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 28 ][ 7 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 29 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 29 ][ 0 ][ 0 ] = 12; + movesAllowed[Piece.KNIGHT][ 29 ][ 1 ][ 0 ] = 14; + movesAllowed[Piece.KNIGHT][ 29 ][ 2 ][ 0 ] = 23; + movesAllowed[Piece.KNIGHT][ 29 ][ 3 ][ 0 ] = 39; + movesAllowed[Piece.KNIGHT][ 29 ][ 4 ][ 0 ] = 46; + movesAllowed[Piece.KNIGHT][ 29 ][ 5 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 29 ][ 6 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 29 ][ 7 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 30 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 30 ][ 0 ][ 0 ] = 13; + movesAllowed[Piece.KNIGHT][ 30 ][ 1 ][ 0 ] = 15; + movesAllowed[Piece.KNIGHT][ 30 ][ 2 ][ 0 ] = 47; + movesAllowed[Piece.KNIGHT][ 30 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 30 ][ 4 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 30 ][ 5 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 31 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 31 ][ 0 ][ 0 ] = 14; + movesAllowed[Piece.KNIGHT][ 31 ][ 1 ][ 0 ] = 46; + movesAllowed[Piece.KNIGHT][ 31 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 31 ][ 3 ][ 0 ] = 21; + + movesAllowed[Piece.KNIGHT][ 32 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 32 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 32 ][ 1 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 32 ][ 2 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 32 ][ 3 ][ 0 ] = 49; + movesAllowed[Piece.KNIGHT][ 33 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 33 ][ 0 ][ 0 ] = 16; + movesAllowed[Piece.KNIGHT][ 33 ][ 1 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 33 ][ 2 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 33 ][ 3 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 33 ][ 4 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 33 ][ 5 ][ 0 ] = 48; + movesAllowed[Piece.KNIGHT][ 34 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 34 ][ 0 ][ 0 ] = 17; + movesAllowed[Piece.KNIGHT][ 34 ][ 1 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 34 ][ 2 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 34 ][ 3 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 34 ][ 4 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 34 ][ 5 ][ 0 ] = 49; + movesAllowed[Piece.KNIGHT][ 34 ][ 6 ][ 0 ] = 40; + movesAllowed[Piece.KNIGHT][ 34 ][ 7 ][ 0 ] = 24; + movesAllowed[Piece.KNIGHT][ 35 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 35 ][ 0 ][ 0 ] = 18; + movesAllowed[Piece.KNIGHT][ 35 ][ 1 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 35 ][ 2 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 35 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 35 ][ 4 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 35 ][ 5 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 35 ][ 6 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 35 ][ 7 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 36 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 36 ][ 0 ][ 0 ] = 19; + movesAllowed[Piece.KNIGHT][ 36 ][ 1 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 36 ][ 2 ][ 0 ] = 30; + movesAllowed[Piece.KNIGHT][ 36 ][ 3 ][ 0 ] = 46; + movesAllowed[Piece.KNIGHT][ 36 ][ 4 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 36 ][ 5 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 36 ][ 6 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 36 ][ 7 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 37 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 37 ][ 0 ][ 0 ] = 20; + movesAllowed[Piece.KNIGHT][ 37 ][ 1 ][ 0 ] = 22; + movesAllowed[Piece.KNIGHT][ 37 ][ 2 ][ 0 ] = 31; + movesAllowed[Piece.KNIGHT][ 37 ][ 3 ][ 0 ] = 47; + movesAllowed[Piece.KNIGHT][ 37 ][ 4 ][ 0 ] = 54; + movesAllowed[Piece.KNIGHT][ 37 ][ 5 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 37 ][ 6 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 37 ][ 7 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 38 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 38 ][ 0 ][ 0 ] = 21; + movesAllowed[Piece.KNIGHT][ 38 ][ 1 ][ 0 ] = 23; + movesAllowed[Piece.KNIGHT][ 38 ][ 2 ][ 0 ] = 55; + movesAllowed[Piece.KNIGHT][ 38 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 38 ][ 4 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 38 ][ 5 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 39 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 39 ][ 0 ][ 0 ] = 22; + movesAllowed[Piece.KNIGHT][ 39 ][ 1 ][ 0 ] = 54; + movesAllowed[Piece.KNIGHT][ 39 ][ 2 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 39 ][ 3 ][ 0 ] = 29; + + movesAllowed[Piece.KNIGHT][ 40 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 40 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 40 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 40 ][ 2 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 40 ][ 3 ][ 0 ] = 57; + movesAllowed[Piece.KNIGHT][ 41 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 41 ][ 0 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 41 ][ 1 ][ 0 ] = 24; + movesAllowed[Piece.KNIGHT][ 41 ][ 2 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 41 ][ 3 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 41 ][ 4 ][ 0 ] = 58; + movesAllowed[Piece.KNIGHT][ 41 ][ 5 ][ 0 ] = 56; + movesAllowed[Piece.KNIGHT][ 42 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 42 ][ 0 ][ 0 ] = 25; + movesAllowed[Piece.KNIGHT][ 42 ][ 1 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 42 ][ 2 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 42 ][ 3 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 42 ][ 4 ][ 0 ] = 59; + movesAllowed[Piece.KNIGHT][ 42 ][ 5 ][ 0 ] = 57; + movesAllowed[Piece.KNIGHT][ 42 ][ 6 ][ 0 ] = 48; + movesAllowed[Piece.KNIGHT][ 42 ][ 7 ][ 0 ] = 32; + movesAllowed[Piece.KNIGHT][ 43 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 43 ][ 0 ][ 0 ] = 26; + movesAllowed[Piece.KNIGHT][ 43 ][ 1 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 43 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 43 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 43 ][ 4 ][ 0 ] = 60; + movesAllowed[Piece.KNIGHT][ 43 ][ 5 ][ 0 ] = 58; + movesAllowed[Piece.KNIGHT][ 43 ][ 6 ][ 0 ] = 49; + movesAllowed[Piece.KNIGHT][ 43 ][ 7 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 44 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 44 ][ 0 ][ 0 ] = 27; + movesAllowed[Piece.KNIGHT][ 44 ][ 1 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 44 ][ 2 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 44 ][ 3 ][ 0 ] = 54; + movesAllowed[Piece.KNIGHT][ 44 ][ 4 ][ 0 ] = 61; + movesAllowed[Piece.KNIGHT][ 44 ][ 5 ][ 0 ] = 59; + movesAllowed[Piece.KNIGHT][ 44 ][ 6 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 44 ][ 7 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 45 ] = new int[ 8 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 45 ][ 0 ][ 0 ] = 28; + movesAllowed[Piece.KNIGHT][ 45 ][ 1 ][ 0 ] = 30; + movesAllowed[Piece.KNIGHT][ 45 ][ 2 ][ 0 ] = 39; + movesAllowed[Piece.KNIGHT][ 45 ][ 3 ][ 0 ] = 55; + movesAllowed[Piece.KNIGHT][ 45 ][ 4 ][ 0 ] = 62; + movesAllowed[Piece.KNIGHT][ 45 ][ 5 ][ 0 ] = 60; + movesAllowed[Piece.KNIGHT][ 45 ][ 6 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 45 ][ 7 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 46 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 46 ][ 0 ][ 0 ] = 29; + movesAllowed[Piece.KNIGHT][ 46 ][ 1 ][ 0 ] = 31; + movesAllowed[Piece.KNIGHT][ 46 ][ 2 ][ 0 ] = 63; + movesAllowed[Piece.KNIGHT][ 46 ][ 3 ][ 0 ] = 61; + movesAllowed[Piece.KNIGHT][ 46 ][ 4 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 46 ][ 5 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 47 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 47 ][ 0 ][ 0 ] = 30; + movesAllowed[Piece.KNIGHT][ 47 ][ 1 ][ 0 ] = 62; + movesAllowed[Piece.KNIGHT][ 47 ][ 2 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 47 ][ 3 ][ 0 ] = 37; + + movesAllowed[Piece.KNIGHT][ 48 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 48 ][ 0 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 48 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 48 ][ 2 ][ 0 ] = 58; + movesAllowed[Piece.KNIGHT][ 49 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 49 ][ 0 ][ 0 ] = 32; + movesAllowed[Piece.KNIGHT][ 49 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 49 ][ 2 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 49 ][ 3 ][ 0 ] = 59; + movesAllowed[Piece.KNIGHT][ 50 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 50 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.KNIGHT][ 50 ][ 1 ][ 0 ] = 33; + movesAllowed[Piece.KNIGHT][ 50 ][ 2 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 50 ][ 3 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 50 ][ 4 ][ 0 ] = 60; + movesAllowed[Piece.KNIGHT][ 50 ][ 5 ][ 0 ] = 56; + movesAllowed[Piece.KNIGHT][ 51 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 51 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 51 ][ 1 ][ 0 ] = 34; + movesAllowed[Piece.KNIGHT][ 51 ][ 2 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 51 ][ 3 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 51 ][ 4 ][ 0 ] = 61; + movesAllowed[Piece.KNIGHT][ 51 ][ 5 ][ 0 ] = 57; + movesAllowed[Piece.KNIGHT][ 52 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 52 ][ 0 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 52 ][ 1 ][ 0 ] = 35; + movesAllowed[Piece.KNIGHT][ 52 ][ 2 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 52 ][ 3 ][ 0 ] = 46; + movesAllowed[Piece.KNIGHT][ 52 ][ 4 ][ 0 ] = 62; + movesAllowed[Piece.KNIGHT][ 52 ][ 5 ][ 0 ] = 58; + movesAllowed[Piece.KNIGHT][ 53 ] = new int[ 6 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 53 ][ 0 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 53 ][ 1 ][ 0 ] = 36; + movesAllowed[Piece.KNIGHT][ 53 ][ 2 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 53 ][ 3 ][ 0 ] = 47; + movesAllowed[Piece.KNIGHT][ 53 ][ 4 ][ 0 ] = 63; + movesAllowed[Piece.KNIGHT][ 53 ][ 5 ][ 0 ] = 59; + movesAllowed[Piece.KNIGHT][ 54 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 54 ][ 0 ][ 0 ] = 39; + movesAllowed[Piece.KNIGHT][ 54 ][ 1 ][ 0 ] = 60; + movesAllowed[Piece.KNIGHT][ 54 ][ 2 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 54 ][ 3 ][ 0 ] = 37; + movesAllowed[Piece.KNIGHT][ 55 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 55 ][ 0 ][ 0 ] = 38; + movesAllowed[Piece.KNIGHT][ 55 ][ 1 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 55 ][ 2 ][ 0 ] = 61; + + movesAllowed[Piece.KNIGHT][ 56 ] = new int[ 2 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 56 ][ 0 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 56 ][ 1 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 57 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 57 ][ 0 ][ 0 ] = 40; + movesAllowed[Piece.KNIGHT][ 57 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 57 ][ 2 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 58 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 58 ][ 0 ][ 0 ] = 48; + movesAllowed[Piece.KNIGHT][ 58 ][ 1 ][ 0 ] = 41; + movesAllowed[Piece.KNIGHT][ 58 ][ 2 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 58 ][ 3 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 59 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 59 ][ 0 ][ 0 ] = 49; + movesAllowed[Piece.KNIGHT][ 59 ][ 1 ][ 0 ] = 42; + movesAllowed[Piece.KNIGHT][ 59 ][ 2 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 59 ][ 3 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 60 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 60 ][ 0 ][ 0 ] = 50; + movesAllowed[Piece.KNIGHT][ 60 ][ 1 ][ 0 ] = 43; + movesAllowed[Piece.KNIGHT][ 60 ][ 2 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 60 ][ 3 ][ 0 ] = 54; + movesAllowed[Piece.KNIGHT][ 61 ] = new int[ 4 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 61 ][ 0 ][ 0 ] = 51; + movesAllowed[Piece.KNIGHT][ 61 ][ 1 ][ 0 ] = 44; + movesAllowed[Piece.KNIGHT][ 61 ][ 2 ][ 0 ] = 46; + movesAllowed[Piece.KNIGHT][ 61 ][ 3 ][ 0 ] = 55; + movesAllowed[Piece.KNIGHT][ 62 ] = new int[ 3 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 62 ][ 0 ][ 0 ] = 52; + movesAllowed[Piece.KNIGHT][ 62 ][ 1 ][ 0 ] = 45; + movesAllowed[Piece.KNIGHT][ 62 ][ 2 ][ 0 ] = 47; + movesAllowed[Piece.KNIGHT][ 63 ] = new int[ 2 ][ 0 ]; + movesAllowed[Piece.KNIGHT][ 63 ][ 0 ][ 0 ] = 53; + movesAllowed[Piece.KNIGHT][ 63 ][ 1 ][ 0 ] = 46; + + + } + +}