From 986621b73a64bd1e0893808dadca04cb9f091298 Mon Sep 17 00:00:00 2001 From: Rafael Damasceno Date: Tue, 17 Jan 2023 15:44:01 +0000 Subject: [PATCH] Add queen promotion in chess --- .../org/alexdev/havana/game/games/gamehalls/GameChess.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/game/games/gamehalls/GameChess.java b/Havana-Server/src/main/java/org/alexdev/havana/game/games/gamehalls/GameChess.java index d8dfc8b..5af32ae 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/game/games/gamehalls/GameChess.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/game/games/gamehalls/GameChess.java @@ -151,6 +151,10 @@ public class GameChess extends GamehallGame { var moveList = MoveGenerator.generateLegalMoves(this.board); isLegalMove = moveList.contains(move);//.stream().anyMatch(m -> m.getFrom() == fromSquare && m.getTo() == toSquare); + if (!isLegalMove && Board.isPromoRank(this.board.getSideToMove(), move)) { // if the move is not legal, check if pawn promotion is legal + move = new Move(fromSquare, toSquare, Piece.make(this.board.getSideToMove(), PieceType.QUEEN)); + isLegalMove = moveList.contains(move); + } } catch (MoveGeneratorException e) { } if (isLegalMove) {