|
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.