14extern const vector<pair<BoardDirection, vector<BoardDirection>>>
kHorsePaths;
Constants, typedefs, and simple structs used by gameboard::GameBoard.
Implements piece type dependent move rules; used by gameboard::MoveCalculator.
void ElephantMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
static bool ExistsAndPassesColorTest(const BoardMap_t &board_map, const BoardSpace &space, PieceColor moving_piece_color)
void SoldierMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void StandardGeneralMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
static BoardDirection FwdDirection(PieceColor color)
void FlyingGeneralMove(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void HorseMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void AdvisorMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void GeneralMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void ChariotMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
void CannonMoves(const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
Definitions and implementations of gameboard::Move and other move-related structs.
Tracking piece positions and determining legal moves.
const vector< pair< BoardDirection, vector< BoardDirection > > > kHorsePaths
const vector< BoardDirection > kAllOrthogonalDirections
const array< BoardDirection, 2 > kSideDirections
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)
const vector< BoardDirection > kAllDiagonalDirections
Descirbes a direction on a gameboard::GameBoard.board_map_.
A pair of coordinate (rank, and file) with properties determined by comparison with values of gameboa...
A container for multiple gameboard::Move objects.