tartan
1.2.1.0
|
Generic board memeber piece API. More...
#include <board.hpp>
Classes | |
class | Position |
Piece position at the Board. More... | |
class | Turn |
Generic Piece Turn on Board. More... | |
class | TurnMap |
List of Turn objects. More... | |
Public Types | |
enum class | Color { Black = 0 , White = 1 } |
Piece color. More... | |
Public Member Functions | |
Color | color () const |
Piece color. More... | |
Color | setColor (Color col) |
Set the color. More... | |
const Position & | position () const |
Piece Position. More... | |
Position & | position () |
Piece Position. More... | |
Position | setPosition (const Position &) |
Set Piece position. More... | |
virtual Position | move (const Position &to) |
Move piece. More... | |
virtual TurnMap | moveMap (int mode=0) const =0 |
Generic moves. More... | |
const Board * | board () const |
Piece board. More... | |
Board * | board () |
Piece board. More... | |
Board * | setBoard (Board *b) |
Set Piece Board. More... | |
std::size_t | movesMade () const |
Moves count. More... | |
std::size_t | turnIndex () const |
Current turn index. More... | |
Piece (const Position &pos={1, 1}, Color col=Color::White) | |
Construct new Piece. More... | |
Static Public Member Functions | |
static TurnMap | diagonalMoves (const Piece *p) |
Construct diagonal moves TurnMap. More... | |
static TurnMap | straightMoves (const Piece *p) |
Construct straight moves (up, down, left, right) TurnMap. More... | |
Protected Attributes | |
Color | p_color |
Piece color. More... | |
Position | p_position |
Piece Position. More... | |
Board * | p_board = nullptr |
Piece Board. More... | |
std::size_t | p_movesMade = 0 |
Turns count Count of turns Piece have made. | |
std::size_t | p_turnIndex = 0 |
Last turn index. More... | |
Generic board memeber piece API.
This class should be inherited and used as a way to describe chess piece in every board derived from Board class.
|
strong |
Piece color.
|
inline |
|
static |
Move piece.
Changes the position() value, uses board() interface to move piece to new location at the underlying Board.
to | new Position value |
|
pure virtual |
Generic moves.
mode
in Your Board class. It's value will be passe to function and influence it's behaivor in some way.mode | optional mode constant to influence the moveMap() behaivor in child classes. |
Implemented in tt::chess::King, tt::chess::Queen, tt::chess::Rook, tt::chess::Bishop, tt::chess::Knight, and tt::chess::Pawn.
|
inline |
|
inline |
|
inline |
Piece::Color tt::Piece::setColor | ( | Color | col | ) |
|
static |
|
inline |
Current turn index.
|
protected |
|
protected |
Piece color.
|
protected |
|
protected |
Last turn index.
Board::turnIndex() value at the moment when Piece performed some Turn