Belofte  version 2.1.5
A promising chess program using the UCI or Winboard interface
bPawn Class Reference

Public Member Functions

 bPawn (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 int GenerateMoves (bBoard const &b UNUSED, case_t const &cf UNUSED, bMoveList &ml UNUSED, side_t const side UNUSED)=0
 
int addMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, int8_t const ci, bMoveList &ml) const
 Check for in-check position, single step move used for King and Knight. More...
 
int addMoves (bBoard const &b, case_t const &cf, side_t const side, int nMax, int8_t const ri, int8_t const ci, bMoveList &ml) const
 Add moves for Queen, Rook and Bishop. More...
 
side_t toMove () const
 

Protected Member Functions

int addNonCapturePawnMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, bMoveList &ml) const
 Test move is possible, single step move non capture move. More...
 
int addNonCaptureDoublePawnMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, bMoveList &ml) const
 
int addCapturePawnMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, int8_t const ci, bMoveList &ml) const
 
int addNonCapturePromotionMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, bMoveList &ml) const
 Test move is possible, single step move non capture move. More...
 
int addCapturePromotionMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, int8_t const ci, bMoveList &ml) const
 Test move is possible, single step move capture only move. More...
 
int addEPMove (bBoard const &b, case_t const &cf, side_t const side, int8_t const ri, int8_t const ci, bMoveList &ml) const
 Test move is possible, e.p. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from bPiece
static piece_t getPiece (cpiece_t const p)
 static class member function More...
 
static cpiece_t getPieceChar (piece_t const p)
 static class member function More...
 
static bPiecegetPieceClass (piece_t const piece)
 static class member function More...
 
static const std::string getPieceStrUpper (piece_t const piece)
 static class member function More...
 
static bool isOpponent (side_t const s, piece_t const p)
 static class member function More...
 
static bool isOwnColour (side_t const s, piece_t const p)
 static class member function More...
 

Detailed Description

Definition at line 204 of file piece.h.

Constructor & Destructor Documentation

◆ bPawn()

bPawn::bPawn ( piece_t  p)
inlineexplicit

Definition at line 206 of file piece.h.

Member Function Documentation

◆ addNonCapturePawnMove()

int bPawn::addNonCapturePawnMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
bMoveList ml 
) const
protected

Test move is possible, single step move non capture move.

Definition at line 421 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNonCaptureDoublePawnMove()

int bPawn::addNonCaptureDoublePawnMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
bMoveList ml 
) const
protected

Definition at line 434 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addCapturePawnMove()

int bPawn::addCapturePawnMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
int8_t const  ci,
bMoveList ml 
) const
protected

Definition at line 448 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addNonCapturePromotionMove()

int bPawn::addNonCapturePromotionMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
bMoveList ml 
) const
protected

Test move is possible, single step move non capture move.

Definition at line 470 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addCapturePromotionMove()

int bPawn::addCapturePromotionMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
int8_t const  ci,
bMoveList ml 
) const
protected

Test move is possible, single step move capture only move.

Definition at line 485 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addEPMove()

int bPawn::addEPMove ( bBoard const &  b,
case_t const &  cf,
side_t const  side,
int8_t const  ri,
int8_t const  ci,
bMoveList ml 
) const
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 508 of file piece.cpp.

Referenced by bWhitePawn::GenerateMoves(), and bBlackPawn::GenerateMoves().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: