Belofte version 2.1.9
A promising chess program using the UCI or Winboard interface
bBlackKing Class Reference

#include <piece.h>

+ Inheritance diagram for bBlackKing:
+ Collaboration diagram for bBlackKing:

Public Member Functions

 bBlackKing ()
 
 ~bBlackKing () override
 
bool hasValidMovePreflightCheck (bBasicBoard &b, case_t const &cf) override
 
movenum_t GenerateMoves (bBasicBoard const &b, case_t const &cf, bMoveList &ml) override
 
- Public Member Functions inherited from bKing
 bKing (piece_t p)
 
 ~bKing () override
 
- Public Member Functions inherited from bPiece
 bPiece ()
 
 bPiece (bPiece &&bp)
 
 bPiece (piece_t piece)
 
virtual ~bPiece ()
 
 bPiece (bPiece const &)=delete
 
bPieceoperator= (bPiece const &)=delete
 
bPieceoperator= (bPiece &&)=delete
 
constexpr piece_t getPiece () const
 
side_t toMove () const
 
- Public Member Functions inherited from bBlackPiece
 bBlackPiece ()
 
 ~bBlackPiece () override
 
bool canMovePreflightCheck (bBasicBoard &b, case_t const &cf, case_t const &ct) const override
 Check if any could be added by just checking there.
 
bool canMovePreflightCheck (bBasicBoard &b, case_t const &cf, int8_t const ri, int8_t const ci, uint_fast8_t nMax=1) const override
 Check if pawn move could be added by just checking there is not check, case of possible promotion.
 
bool canPawnMovePreflightCheck (bBasicBoard &b, case_t const &cf, int8_t const ri, int8_t const ci) const override
 Check if pawn move could be added by just checking there is not check, case of possible promotion.
 
bool isAttacked (bBasicBoard const &b, case_t const &cf) const override
 
movenum_t addMove (bBasicBoard const &b, case_t const &cf, case_t const &ct, bMoveList &ml) const override
 
movenum_t addMoves (bBasicBoard const &b, case_t const &cf, int8_t const ri, int8_t const ci, bMoveList &ml) const override
 
- 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
 
constexpr bool isWhite () const
 
constexpr bool isBlack () const
 
constexpr bool isEmpty () const
 
constexpr side_t opponent () const
 
constexpr side_t toMove () const
 
side_t invert ()
 

Additional Inherited Members

- Static Public Member Functions inherited from bPiece
static piece_t getPiece (cpiece_t const piece)
 static class member function
 
static cpiece_t getPieceChar (piece_t const piece)
 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 piece)
 static class member function
 
static bool isOwnColour (side_t const s, piece_t const piece)
 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 isAttackedBySlider (bBasicBoard const &b, case_t cf, column_t fromcol, rank_t fromrank, int8_t const ci, int8_t const ri, piece_t const cPiece, piece_t const cPiece2) 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 538 of file piece.h.

Constructor & Destructor Documentation

◆ bBlackKing()

bBlackKing::bBlackKing ( )
inline

Definition at line 540 of file piece.h.

+ Here is the call graph for this function:

◆ ~bBlackKing()

bBlackKing::~bBlackKing ( )
inlineoverride

Definition at line 543 of file piece.h.

Member Function Documentation

◆ hasValidMovePreflightCheck()

bool bBlackKing::hasValidMovePreflightCheck ( bBasicBoard & b,
case_t const & cf )
overridevirtual

we do not check castle moves, castle is possible only when normal move is possible

Implements bPiece.

Definition at line 1215 of file piece.cpp.

+ Here is the call graph for this function:

◆ GenerateMoves()

movenum_t bBlackKing::GenerateMoves ( bBasicBoard const & b,
case_t const & cf,
bMoveList & ml )
overridevirtual

king not on original position, so not looking for castle

Implements bPiece.

Definition at line 1269 of file piece.cpp.

+ Here is the call graph for this function: