Cute Chess 0.1
Chess::WesternZobrist Class Reference

Zobrist keys for Western chess variants. More...

#include <westernzobrist.h>

Inheritance diagram for Chess::WesternZobrist:
Chess::Zobrist

Public Member Functions

virtual quint64 castling (int side, int square) const
virtual quint64 enpassant (int square) const
virtual void initialize (int squareCount, int pieceTypeCount)
virtual quint64 piece (const Piece &piece, int square) const
virtual quint64 side () const
 WesternZobrist (const quint64 *keys=nullptr)
Public Member Functions inherited from Chess::Zobrist
bool isInitialized () const
virtual quint64 reservePiece (const Piece &piece, int slot) const
 Zobrist (const quint64 *keys=nullptr)
virtual ~Zobrist ()

Additional Inherited Members

Protected Member Functions inherited from Chess::Zobrist
const quint64 * keys () const
int pieceTypeCount () const
int squareCount () const
Static Protected Member Functions inherited from Chess::Zobrist
static quint64 random64 ()

Detailed Description

Zobrist keys for Western chess variants.

Constructor & Destructor Documentation

◆ WesternZobrist()

Chess::WesternZobrist::WesternZobrist ( const quint64 * keys = nullptr)

Creates a new uninitialized WesternZobrist object.

Parameters
keysAn array of zobrist keys that can be used instead of the random numbers generated by the Zobrist class.

Member Function Documentation

◆ castling()

quint64 Chess::WesternZobrist::castling ( int side,
int square ) const
virtual

Returns the zobrist value for player side's castling rook at square.

◆ enpassant()

quint64 Chess::WesternZobrist::enpassant ( int square) const
virtual

Returns the zobrist value for an en-passant target at square.

◆ initialize()

void Chess::WesternZobrist::initialize ( int squareCount,
int pieceTypeCount )
virtual

Initializes the zobrist numbers.

Parameters
squareCountThe number of squares the board has, including the invisible "Wall" squares.
pieceTypeCountThe number of piece types the variant has, including the empty "NoPiece" type (type 0).
Note
Subclasses that reimplement this function must call the base implementation.

Reimplemented from Chess::Zobrist.

◆ piece()

quint64 Chess::WesternZobrist::piece ( const Piece & piece,
int square ) const
virtual

Returns the zobrist value for piece at square.

Reimplemented from Chess::Zobrist.

◆ side()

quint64 Chess::WesternZobrist::side ( ) const
virtual

Returns the zobrist value for side to move. This value must be in the key on black's turn.

Reimplemented from Chess::Zobrist.


The documentation for this class was generated from the following files: