54 auto piece_type =
get_type(board_map, space);
57 auto move_func_ptr = any_cast<MethodPtr_t>(move_func);
58 (
piece_moves_.*move_func_ptr)(board_map, color, space, team_moves);
67 for (
size_t space = 0; space < occ_spaces.size(); space++) {
70 return untested_moves;
Constants, typedefs, and simple structs used by gameboard::GameBoard.
Calculates legal gameboard::Move objects for of a gameboard::GameBoard with a particular state.
bool IsOccupied(const BoardMap_t &board_map, const BoardSpace &space)
PieceDispatchArray_t piece_dispatch_array_
void ImplementCalcMovesFrom(const BoardSpace space, MoveCollection &team_moves, const BoardMap_t &board_map)
void CalcMovesFrom(const BoardSpace space, MoveCollection &team_moves, const BoardMap_t &board_map)
MoveCollection ImplementCalcAllMovesNoCheckTest(PieceColor color, const BoardMap_t &board_map)
MoveCollection CalcAllMovesNoCheckTest(PieceColor color, const BoardMap_t &board_map)
Implements piece type dependent move rules; used by gameboard::MoveCalculator.
Typedefs and data struct used by gameboard::MoveCalculator to select appropriate method from gameboar...
Tracking piece positions and determining legal moves.
array< MethodPtr_t, kNumPieceTypeVals > PieceDispatchArray_t
vector< BoardSpace > get_all_spaces_occupied_by(const BoardMap_t &board_map, const PieceColor color)
array< array< GamePiece, kNumFiles >, kNumRanks > BoardMap_t
2-D array of gameboard::GamePiece objects.
PieceColor get_color(const BoardMap_t &board_map, const BoardSpace &space)
constexpr PieceDispatchArray_t build_piece_dispatch_array()
PieceType get_type(const BoardMap_t &board_map, const BoardSpace &space)
Definition of gameboard::PieceMoves and related constants.
A pair of coordinate (rank, and file) with properties determined by comparison with values of gameboa...
A container for multiple gameboard::Move objects.