void print_neutral_endl()
print a neutral font color and background color new line
coordinates get_coord_from_string(std::string move)
Retrieve coordinates from a string.
void print_line_separator(bool inverted)
print a line separator with board matching background colors
A class representing the chess board.
bool is_promotion_needed(coordinates coord)
check if a promotion is needed
std::vector< piece * > black_pieces
void canonical_print()
print the board in canonical form
bool is_check(bool white_king)
check if the selected player is in check state
bool is_king_castling_legal(bool white_move)
check if the king-side castling move is legal, without checking it in regards to king check state
bool is_checkmate_or_pat(bool white_move)
check if the other player can move without being in a check state
bool is_legal(coordinates move_from, coordinates move_to, bool white_move)
Check if a move is legal, without checking it in regards to king check state.
void print()
print the board
bool is_queen_castling_legal(bool white_move)
check if the queen-side castling move is legal, without checking it in regards to king check state
void move(coordinates move_from, coordinates move_to)
Move a piece from one position to another, supposing that the move is legal.
void king_castle(bool white_move)
perform the king-side castling move
void erase_piece(coordinates coord)
Erase a piece from its corresponding vector according to its coordinates.
bool is_en_passant_legal(coordinates move_from, coordinates move_to, bool white_move)
bool last_move_en_passant_eligible
void put(piece *to_put)
put a piece onto the board according to its coordinates
void promote(coordinates to_promote, piece_type new_type)
Perform a promotion on the specified coordinates. Don't check anything.
coordinates get_king_coord(bool white_king)
retrieve the king coordinates
void queen_castle(bool white_move)
perform the queen-side castling move
int without_attack_or_pawn_counter
std::vector< piece * > white_pieces
a class representing coordinates
a generic piece class. white is a boolean indicating the piece's color. legals is a vector indicating...
piece_type
Represent a piece type. Undefined for default piece.