From a649db77ef294a2ce4d9950eabac4bd3672e0aa6 Mon Sep 17 00:00:00 2001 From: MrGeorgen Date: Thu, 5 Sep 2024 15:32:36 +0200 Subject: [PATCH] fixed move generattion: perft now passing --- src/chess/move.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/chess/move.c b/src/chess/move.c index e6bebaa..eb74664 100644 --- a/src/chess/move.c +++ b/src/chess/move.c @@ -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); }