|
|
|
@ -170,6 +170,56 @@ const std::array<PieceType, 120> EN_PASSANT_TEST_BOARD = {
|
|
|
|
|
const std::vector<int> EN_PASSANT_TEST_MOVES = {
|
|
|
|
|
D6, E6
|
|
|
|
|
};
|
|
|
|
|
// Test pawn promotion
|
|
|
|
|
const int PROM_PAWN_POS = G7;
|
|
|
|
|
const std::array<PieceType, 120> PROM_PAWN_BOARD = {
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, B_ROOK, B_KNIGHT, B_BISHOP, B_QUEEN, B_KING, B_BISHOP, B_KNIGHT, B_ROOK,INV,
|
|
|
|
|
INV, B_PAWN, B_PAWN, B_PAWN, NONE, B_PAWN, B_PAWN, W_PAWN, B_PAWN,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, W_PAWN, W_PAWN, W_PAWN, NONE, W_PAWN, W_PAWN, W_PAWN, W_PAWN,INV,
|
|
|
|
|
INV, W_ROOK, W_KNIGHT, W_BISHOP, W_QUEEN, W_KING, W_BISHOP, W_KNIGHT, W_ROOK, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
|
|
|
};
|
|
|
|
|
const std::vector<int> PROM_PAWN_MOVES = {
|
|
|
|
|
H8, H8, H8, H8,
|
|
|
|
|
F8, F8, F8, F8
|
|
|
|
|
};
|
|
|
|
|
const std::vector<int> PROM_PAWN_PROMS = {
|
|
|
|
|
W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN,
|
|
|
|
|
W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Black pawn promotion
|
|
|
|
|
const int PROM_BPAWN_POS = B2;
|
|
|
|
|
const std::array<PieceType, 120> PROM_BPAWN_BOARD = {
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, B_ROOK, B_KNIGHT, B_BISHOP, B_QUEEN, B_KING, B_BISHOP, B_KNIGHT, B_ROOK,INV,
|
|
|
|
|
INV, B_PAWN, B_PAWN, B_PAWN, NONE, B_PAWN, B_PAWN, B_PAWN, B_PAWN,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,INV,
|
|
|
|
|
INV, W_PAWN, B_PAWN, W_PAWN, NONE, W_PAWN, W_PAWN, W_PAWN, W_PAWN,INV,
|
|
|
|
|
INV, W_ROOK, W_KNIGHT, W_BISHOP, W_QUEEN, W_KING, W_BISHOP, W_KNIGHT, W_ROOK, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
|
|
|
};
|
|
|
|
|
const std::vector<int> PROM_BPAWN_MOVES = {
|
|
|
|
|
C1, C1, C1, C1,
|
|
|
|
|
A1, A1, A1, A1
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const std::vector<int> PROM_BPAWN_PROMS = {
|
|
|
|
|
B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN,
|
|
|
|
|
B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const int NO_EN_PASSANT_TEST_POS = D5;
|
|
|
|
|
const std::array<PieceType, 120> NO_EN_PASSANT_TEST_BOARD = {
|
|
|
|
@ -187,3 +237,27 @@ const std::array<PieceType, 120> NO_EN_PASSANT_TEST_BOARD = {
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
|
|
|
};
|
|
|
|
|
const std::vector<int> NO_EN_PASSANT_TEST_MOVES = {D6};
|
|
|
|
|
|
|
|
|
|
// Castling tests
|
|
|
|
|
const int CASTLING_POS = E1;
|
|
|
|
|
const std::array<PieceType, 120> CASTLING_BOARD = {
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, B_ROOK, NONE, NONE, NONE, B_KING, NONE, NONE, B_ROOK, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
|
|
|
INV, W_ROOK, NONE, NONE, NONE, W_KING, NONE, NONE, W_ROOK, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
|
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Should NOT inclde D7
|
|
|
|
|
const std::vector<int> CASTLING_MOVES = {
|
|
|
|
|
D1, D2, E2, F2, F1,
|
|
|
|
|
C1, G1
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|