Xiangiqgame
AI engine for Xiangqi
|
Must comply with SpaceInfoProviderConcept; stores piece positions, and exposes methods for calculating, executing, an un-doing moves. More...
#include <game_board_for_concepts.hpp>
Static Public Member Functions | |
static std::shared_ptr< GameBoardForConcepts > | Create (const BoardMapInt_t &starting_board=kStandardInitialBoard) |
Private Member Functions | |
GameBoardForConcepts (const BoardMapInt_t starting_board) | |
Initializes a gameboard::GameBoard from array of pieces represented as integers. | |
MoveCollection | CalcFinalMovesOfInternal (PieceColor color) |
bool | IsInCheckInternal (PieceColor color) |
ExecutedMove | ExecuteMoveInternal (const Move &move) |
std::vector< BoardSpace > | GetAllSpacesOccupiedByInternal (const PieceColor color) const |
void | UndoMoveInternal (const ExecutedMove &executed_move) |
void | UpdateStateTracker (const ExecutedMove &executed_move) |
void | SetOccupantAt (const BoardSpace &space, GamePiece piece) |
void | AddToMoveLog (const ExecutedMove &executed_move) |
void | RemoveFromMoveLog (const ExecutedMove &executed_move) |
bool | ViolatesRepeatRule (PieceColor color) |
Private Attributes | |
BoardMap_t | board_map_ |
MoveCalculator | move_calculator_ |
vector< function< void(const ExecutedMove &)> > | move_callbacks_ |
std::map< PieceColor, std::vector< ExecutedMove > > | move_log_ |
MoveCountType | moves_since_last_capture_ |
Must comply with SpaceInfoProviderConcept; stores piece positions, and exposes methods for calculating, executing, an un-doing moves.
Definition at line 22 of file game_board_for_concepts.hpp.
|
inlineprivate |
Initializes a gameboard::GameBoard from array of pieces represented as integers.
starting_board | An array of integers representing pieces on the board. |
Definition at line 84 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 179 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 43 of file game_board_for_concepts.hpp.
|
inlinevirtual |
Implements SpaceInfoProviderBase.
Definition at line 65 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 90 of file game_board_for_concepts.hpp.
|
inlinestatic |
Definition at line 30 of file game_board_for_concepts.hpp.
|
inlinevirtual |
Implements SpaceInfoProviderBase.
Definition at line 53 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 127 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 57 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 146 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 47 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 77 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 61 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 69 of file game_board_for_concepts.hpp.
|
inlinevirtual |
Implements SpaceInfoProviderBase.
Definition at line 55 of file game_board_for_concepts.hpp.
|
inlinevirtual |
Implements SpaceInfoProviderBase.
Definition at line 51 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 120 of file game_board_for_concepts.hpp.
|
inlinevirtual |
Implements SpaceInfoProviderBase.
Definition at line 37 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 39 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 184 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 175 of file game_board_for_concepts.hpp.
|
inline |
Definition at line 73 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 160 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 168 of file game_board_for_concepts.hpp.
|
inlineprivate |
Definition at line 193 of file game_board_for_concepts.hpp.
|
private |
Definition at line 23 of file game_board_for_concepts.hpp.
|
private |
Definition at line 24 of file game_board_for_concepts.hpp.
|
private |
Definition at line 25 of file game_board_for_concepts.hpp.
|
private |
Definition at line 26 of file game_board_for_concepts.hpp.
|
private |
Definition at line 27 of file game_board_for_concepts.hpp.