fixed move generattion: perft now passing

This commit is contained in:
2024-09-05 15:32:36 +02:00
parent 1ab928cc6f
commit a649db77ef

View File

@ -230,8 +230,7 @@ static void movePawn(struct addMoveCtx_t ctx, bool color, uint_least8_t src, uin
struct move_t *moves = ctx.moves;
uint_least8_t *movesLength = ctx.movesLength;
const struct piece_t piece = {PAWN, color};
const uint_least8_t rankI = getBaseRankI(color);
if(promotion && (color == WHITE && dst < rankI || color == BLACK && dst >= rankI)) {
if(promotion && (color == WHITE && dst < BOARD_SIZE || color == BLACK && dst >= BOARD_SIZE * (BOARD_SIZE - 1))) {
for(uint_least8_t promotionPiece = QUEEN; promotionPiece < PAWN; ++promotionPiece) {
addMove(ctx, piece, src, dst, spezialMove, promotionPiece);
}