HistoryMove
HistoryMove <- ()
HistoryMove <- Piece::Type
<- Point
<- Point
<- HistoryMove::Type
<- int
<- bool
<- Piece::Type
<- PointSet
PIECE_TYPES_TO_SYMBOLS -> std::string
toString -> std::string
HistoryMoves
HistoryMoves <- ()
addMainLineMove <- HistoryMove
addSideLineMove <- HistoryMove
<- int
toString <- bool
-> std::string
getItems -> std::vector<Item>
HistoryMoves::Item
historyMove <-> HistoryMove
nextIndexes <-> std::vector<int>
Single chess move information
Piece types to symbols mapping
Moved piece type
Point move from
Point move to
Move type
Checkers count after move
True if there is check mate after move
Pawn promotion piece type
Other same type pieces that could make this move
Returns move algebraic notation
Creates empty move
HistoryMove::HistoryMove(Piece::Type pieceType, Point from, Point to, Type type, int checkersCount, bool isCheckMate, Piece::Type promotionType, PointSet otherCandidates)
Creates move
Move type
- PLACE
- TAKE
- PAWN_PROMOTION
- KING_SIDE_CASTLE
- QUEEN_SIDE_CASTLE
Chess moves collection. Contains one main line (moves sequence) and could contains several side lines.
Add main line move after previous main line move
Add side line move after previous move (main or side) by moves item index
Returns moves in PGN
Returns moves in PGN
Creates empty moves
Moves item
Wrapped move
Next moves indexes