Belofte version 2.1.8
A promising chess program using the UCI or Winboard interface
|
#include <piece.h>
Public Member Functions | |
bWhitePawn () | |
bool | hasValidMovePreflightCheck (bBoard &b, case_t const &cf) final |
check if there is at least one move possible currently, relies on full move generation for pawn | |
movenum_t | GenerateMoves (bBoard const &b, case_t const &cf, bMoveList &ml) final |
![]() | |
bPawn (piece_t p) | |
![]() | |
bPiece () | |
bPiece (piece_t p) | |
virtual | ~bPiece () |
bPiece (bPiece &&)=default | |
bPiece (bPiece const &)=delete | |
bPiece & | operator= (bPiece const &)=delete |
bPiece & | operator= (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 |
![]() | |
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. | |
![]() | |
bPieceColour (side_t s) | |
virtual | ~bPieceColour () |
bPieceColour (bPieceColour const &)=delete | |
bPieceColour (bPieceColour &&)=delete | |
bPieceColour & | operator= (bPieceColour const &)=delete |
bPieceColour & | operator= (bPieceColour &&)=delete |
bool | isWhite () const |
bool | isBlack () const |
bool | isEmpty () const |
side_t | invert () |
side_t | opponent () const |
side_t | toMove () const |
Protected Member Functions | |
movenum_t | addNonCapturePawnMove (bBoard const &b, case_t const &cf, bMoveList &ml) const |
Test move is possible, single step move non capture move. | |
movenum_t | addNonCaptureDoublePawnMove (bBoard const &b, case_t const &cf, bMoveList &ml) const |
movenum_t | addEPMove (bBoard const &b, case_t const &cf, int8_t const ci, bMoveList &ml) const |
Test move is possible, e.p. | |
movenum_t | addCapturePawnMove (bBoard const &b, case_t const &cf, int8_t const ci, bMoveList &ml) const |
movenum_t | addNonCapturePromotionMove (bBoard const &b, case_t const &cf, bMoveList &ml) const |
Test move is possible, single step move non capture move. | |
movenum_t | addCapturePromotionMove (bBoard const &b, case_t const &cf, int8_t const ci, bMoveList &ml) const |
Test move is possible, single step move capture only move. | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
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 bPiece * | getPieceClass (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 | |
![]() | |
side_t | m_side = tSide::SIDE_UNDEFINED |
|
protected |
Test move is possible, single step move non capture move.
Definition at line 681 of file piece.cpp.
Referenced by GenerateMoves().
|
protected |
Definition at line 754 of file piece.cpp.
Referenced by GenerateMoves().
|
protected |
Test move is possible, e.p.
move capture only move, no test if pawn is present only board e.p. flag is used in calling function
Definition at line 878 of file piece.cpp.
Referenced by GenerateMoves().
|
protected |
Definition at line 780 of file piece.cpp.
Referenced by GenerateMoves().
|
protected |
Test move is possible, single step move non capture move.
Definition at line 813 of file piece.cpp.
Referenced by GenerateMoves().
|
protected |
Test move is possible, single step move capture only move.
Definition at line 838 of file piece.cpp.
Referenced by GenerateMoves().