Belofte version 2.1.8
A promising chess program using the UCI or Winboard interface
bWhiteRook Class Referencefinal

#include <piece.h>

+ Inheritance diagram for bWhiteRook:
+ Collaboration diagram for bWhiteRook:

Public Member Functions

 bWhiteRook ()
 
bool hasValidMovePreflightCheck (bBoard &b, case_t const &cf) final
 
movenum_t GenerateMoves (bBoard const &b, case_t const &cf, bMoveList &ml) final
 
- Public Member Functions inherited from bRook
 bRook (piece_t p)
 
- Public Member Functions inherited from bPiece
 bPiece ()
 
 bPiece (piece_t p)
 
virtual ~bPiece ()
 
 bPiece (bPiece &&)=default
 
 bPiece (bPiece const &)=delete
 
bPieceoperator= (bPiece const &)=delete
 
bPieceoperator= (bPiece &&)=delete
 
piece_t getPiece () const
 
virtual bool hasValidMovePreflightCheck (bBoard &b UNUSED, case_t const &cf UNUSED)=0
 
virtual movenum_t GenerateMoves (bBoard const &b UNUSED, case_t const &cf UNUSED, bMoveList &ml UNUSED)=0
 
side_t toMove () const
 
- Public Member Functions inherited from bWhitePiece
 bWhitePiece ()
 
 ~bWhitePiece () override
 
bool canMovePreflightCheck (bBoard &b, case_t const &cf, int8_t const ri, int8_t const ci) const override
 Check if move could be added by just checking there is not check.
 
bool canMovePreflightCheck (bBoard &b, case_t const &cf, int8_t const ri, int8_t const ci, piece_t const cPromotion) const override
 Check if pawn move could be added by just checking there is not check, case of possible promotion.
 
bool isAttacked (bBoard const &b, case_t const &cf) const override
 Check if piece on position is attacked, start with piece always on board and then with pieces with greatest mobility, goal is to break ou asap.
 
movenum_t addMove (bBoard const &b, case_t const &cf, int8_t const ri, int8_t const ci, bMoveList &ml) const final
 Check for in-check position, single step move used for King and Knight.
 
movenum_t addMoves (bBoard const &b, case_t const &cf, int8_t const ri, int8_t const ci, bMoveList &ml) const final
 Add moves for Queen, Rook and Bishop.
 
- Public Member Functions inherited from bPieceColour
 bPieceColour (side_t s)
 
virtual ~bPieceColour ()
 
 bPieceColour (bPieceColour const &)=delete
 
 bPieceColour (bPieceColour &&)=delete
 
bPieceColouroperator= (bPieceColour const &)=delete
 
bPieceColouroperator= (bPieceColour &&)=delete
 
bool isWhite () const
 
bool isBlack () const
 
bool isEmpty () const
 
side_t invert ()
 
side_t opponent () const
 
side_t toMove () const
 

Additional Inherited Members

- Static Public Member Functions inherited from bPiece
static piece_t getPiece (cpiece_t const p)
 static class member function
 
static cpiece_t getPieceChar (piece_t const p)
 static class member function
 
static bPiecegetPieceClass (piece_t const piece)
 static class member function
 
static const std::string getPieceStrUpper (piece_t const piece)
 static class member function
 
static bool isOpponent (side_t const s, piece_t const p)
 static class member function
 
static bool isOwnColour (side_t const s, piece_t const p)
 static class member function
 
static bool isWhitePiece (piece_t const p)
 static class member function
 
static bool isBlackPiece (piece_t const p)
 static class member function
 
- Protected Member Functions inherited from bPieceColour
bool isAttackedByPiece (bBoard const &b, column_t const fromcol, rank_t const fromrank, piece_t const cPiece, int8_t const ri, int8_t const ci) const
 Return true if position is attacked by opponent respecting move offsets.
 
bool isAttackedBySlider (bBoard const &b, column_t const fromcol, rank_t const fromrank, piece_t const cPiece, piece_t const cPiece2, int8_t const ri, int8_t const ci) const
 Return true if position is attacked by opponent respecting move offsets.
 
- Protected Attributes inherited from bPieceColour
side_t m_side = tSide::SIDE_UNDEFINED
 

Detailed Description

Definition at line 379 of file piece.h.

Constructor & Destructor Documentation

◆ bWhiteRook()

bWhiteRook::bWhiteRook ( )
inline

Definition at line 381 of file piece.h.

Member Function Documentation

◆ hasValidMovePreflightCheck()

bool bWhiteRook::hasValidMovePreflightCheck ( bBoard b,
case_t const &  cf 
)
final

Definition at line 987 of file piece.cpp.

+ Here is the call graph for this function:

◆ GenerateMoves()

movenum_t bWhiteRook::GenerateMoves ( bBoard const &  b,
case_t const &  cf,
bMoveList ml 
)
final

Definition at line 1005 of file piece.cpp.

+ Here is the call graph for this function: