Add some edge cases

master
Tait Hoyem 5 years ago
parent 9b63cd6c52
commit 126a9b02e1

@ -121,3 +121,52 @@ const std::vector<Position> B_PAWN_ALL_MOVES = {
E3, F3, G3,
F2
};
const Position B_KNIGHT_SIDE1_POS = B7;
const std::array<PieceType, 64> B_KNIGHT_SIDE1_BOARD = {
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, B_KNIGHT, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> B_KNIGHT_SIDE1_ALL_MOVES = {
D8,
B7,
D6,
A5, C5
};
const Position B_KING_SIDE1_POS = A8;
const std::array<PieceType, 64> B_KING_SIDE1_BOARD = {
B_KING, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> B_KING_SIDE1_ALL_MOVES = {
A8,B8,
A7,B7
};
const Position B_PAWN_SIDE1_POS = A1;
const std::array<PieceType, 64> B_PAWN_SIDE1_BOARD = {
B_PAWN, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> B_PAWN_SIDE1_ALL_MOVES = {
A8,
A7, B7,
A6
};

@ -68,6 +68,24 @@ const std::array<PieceType, 64> W_KNIGHT_BOARD = {
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const Position W_KNIGHT_SIDE1_POS = B7;
const std::array<PieceType, 64> W_KNIGHT_SIDE1_BOARD = {
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, W_KNIGHT, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> W_KNIGHT_SIDE1_ALL_MOVES = {
D8,
B7,
D6,
A5, C5
};
const std::vector<Position> W_KNIGHT_ALL_MOVES = {
C7, E7,
B6, F6,
@ -107,6 +125,23 @@ const std::array<PieceType, 64> W_KING_BOARD = {
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const Position W_KING_SIDE1_POS = A8;
const std::array<PieceType, 64> W_KING_SIDE1_BOARD = {
W_KING, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> W_KING_SIDE1_ALL_MOVES = {
A8,B8,
A7,B7
};
const std::vector<Position> W_KING_ALL_MOVES = {
B5, C5, D5,
B4, C4, D4,
@ -131,3 +166,18 @@ const std::vector<Position> W_PAWN_ALL_MOVES = {
E5, F5, G5,
F4
};
const Position W_PAWN_SIDE1_POS = A1;
const std::array<PieceType, 64> W_PAWN_SIDE1_BOARD = {
W_PAWN, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE,
NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
};
const std::vector<Position> W_PAWN_SIDE1_ALL_MOVES = {
A8
};

@ -148,3 +148,15 @@ TEST_CASE("Test all possible and impossible moves for whtie pieces", "[get_all_m
CHECK(get_all_moves(W_PAWN_POS, W_PAWN_BOARD) == W_PAWN_ALL_MOVES);
}
TEST_CASE("Test all moves for white in edge cases.", "[get_all_moves][white]"){
CHECK(get_all_moves(W_KNIGHT_SIDE1_POS, W_KNIGHT_SIDE1_BOARD) == W_KNIGHT_SIDE1_ALL_MOVES);
CHECK(get_all_moves(W_KING_SIDE1_POS, W_KING_SIDE1_BOARD) == W_KING_SIDE1_ALL_MOVES);
CHECK(get_all_moves(W_PAWN_SIDE1_POS, W_PAWN_SIDE1_BOARD) == W_PAWN_SIDE1_ALL_MOVES);
}
TEST_CASE("Test all moves for black in edge cases.", "[get_all_moves][black]"){
CHECK(get_all_moves(B_KNIGHT_SIDE1_POS, B_KNIGHT_SIDE1_BOARD) == B_KNIGHT_SIDE1_ALL_MOVES);
CHECK(get_all_moves(B_KING_SIDE1_POS, B_KING_SIDE1_BOARD) == B_KING_SIDE1_ALL_MOVES);
CHECK(get_all_moves(B_PAWN_SIDE1_POS, B_PAWN_SIDE1_BOARD) == B_PAWN_SIDE1_ALL_MOVES);
}

Loading…
Cancel
Save