33 Piece(
int pos, Type type,
bool team_white);
40 bool is_opposing_team(std::optional<Piece> other)
const;
48 std::vector<FuncPtr> find_move_functions;
50 void test_pawn(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
51 void test_white_pawn(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
52 void test_black_pawn(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
53 void test_rook(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
54 void test_bishop(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
55 void test_knight(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
56 void test_queen(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
57 void test_king(
const Piece &piece, std::vector<int> &possible_moves,
const Chessboard &chessboard);
Class structure for the pieces that fill a game state's board.
Definition: piece.h:31
Used to create, store, and make changes to a game state.
Definition: chessboard.h:24
void(*)(const Piece &piece, std::vector< int > &possible_moves, const Chessboard &chessboard) FuncPtr
Simplifies function pointer syntax for functions filling a vector possible_moves. ...
Definition: piece.h:19
std::vector< int > get_possible_moves(const Chessboard &chessboard)
Returns possible moves for one piece.
Definition: piece.cpp:48