You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
7.6 KiB
194 lines
7.6 KiB
#include <vector>
|
|
#include <constants.h>
|
|
|
|
const int B_QUEEN_POS = E4;
|
|
const std::array<PieceType, 120> B_QUEEN_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_QUEEN, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_QUEEN_ALL_MOVES = {
|
|
D4, C4, B4, A4,
|
|
E5, E6, E7, E8,
|
|
F4, G4, H4,
|
|
E3, E2, E1,
|
|
D5, C6, B7, A8,
|
|
F5, G6, H7,
|
|
D3, C2, B1,
|
|
F3, G2, H1
|
|
};
|
|
|
|
const int B_BISHOP_POS = D4;
|
|
const std::array<PieceType, 120> B_BISHOP_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_BISHOP, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_BISHOP_ALL_MOVES = {
|
|
C5, B6, A7, E5, F6, G7, H8, C3, B2, A1, E3, F2, G1
|
|
};
|
|
|
|
const int B_KNIGHT_POS = D5;
|
|
const std::array<PieceType, 120> B_KNIGHT_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_KNIGHT, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_KNIGHT_ALL_MOVES = {
|
|
B6, C7, E7, F6, B4, F4, C3, E3
|
|
};
|
|
|
|
const int B_ROOK_POS = E5;
|
|
const std::array<PieceType, 120> B_ROOK_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_ROOK, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_ROOK_ALL_MOVES = {
|
|
D5, C5, B5, A5,
|
|
E6, E7, E8,
|
|
F5, G5, H5,
|
|
E4, E3, E2, E1
|
|
};
|
|
|
|
|
|
const int B_KING_POS = C4;
|
|
const std::array<PieceType, 120> B_KING_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_KING, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_KING_ALL_MOVES = {
|
|
B5, C5, D5,
|
|
B3, C3, D3,
|
|
D4, B4
|
|
};
|
|
|
|
|
|
const int B_PAWN_POS = F4;
|
|
const std::array<PieceType, 120> B_PAWN_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, 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, B_PAWN, 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, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV
|
|
};
|
|
|
|
const std::vector<int> B_PAWN_ALL_MOVES = {
|
|
F3
|
|
};
|
|
const int B_KNIGHT_SIDE1_POS = B7;
|
|
const std::array<PieceType, 120> B_KNIGHT_SIDE1_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
INV, NONE, B_KNIGHT, 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, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, 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> B_KNIGHT_SIDE1_ALL_MOVES = {
|
|
D8,
|
|
D6,
|
|
A5, C5
|
|
};
|
|
const int B_KING_SIDE1_POS = A8;
|
|
const std::array<PieceType, 120> B_KING_SIDE1_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, B_KING, 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, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, 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> B_KING_SIDE1_ALL_MOVES = {
|
|
A7,B7,B8
|
|
};
|
|
|
|
const int B_PAWN_SIDE1_POS = A7;
|
|
const std::array<PieceType, 120> B_PAWN_SIDE1_BOARD = {
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, INV, INV, INV, INV, INV, INV, INV, INV, INV,
|
|
INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV,
|
|
INV, B_PAWN, 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, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, 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> B_PAWN_SIDE1_ALL_MOVES = {
|
|
A6, A5
|
|
};
|