From dcf9bd7df7931f86be4c87114f4d71803b505bb1 Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Wed, 15 Mar 2023 23:58:23 -0700 Subject: [PATCH] Make pawn promote from captures --- src/Pawn.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Pawn.java b/src/Pawn.java index 5058adc..8974601 100644 --- a/src/Pawn.java +++ b/src/Pawn.java @@ -13,9 +13,7 @@ public class Pawn extends Piece { ArrayList possibleMoves = new ArrayList<>(); if (this.black) { if (board.get(position.x, position.y + 1) == null) { - Move oneForward = new Move(position, new BoardCoordinate(position.x, position.y + 1)); - oneForward.isPromotion = position.y + 1 == Board.BOARD_SIZE - 1; - possibleMoves.add(oneForward); + possibleMoves.add(new Move(position, new BoardCoordinate(position.x, position.y + 1))); if (!moved && board.get(position.x, position.y + 2) == null) { possibleMoves.add(new Move(position, new BoardCoordinate(position.x, position.y + 2))); } @@ -26,12 +24,10 @@ public class Pawn extends Piece { if (board.get(position.x + 1, position.y + 1) != null) { possibleMoves.add(new Move(position, new BoardCoordinate(position.x + 1,position.y + 1))); } - + for (Move move : possibleMoves) move.isPromotion = position.y + 1 == 0; } else { if (board.get(position.x, position.y - 1) == null) { - Move oneForward = new Move(position, new BoardCoordinate(position.x, position.y - 1)); - oneForward.isPromotion = position.y - 1 == 0; - possibleMoves.add(oneForward); + possibleMoves.add(new Move(position, new BoardCoordinate(position.x, position.y - 1))); if (!moved && board.get(position.x, position.y - 2) == null) { possibleMoves.add(new Move(position, new BoardCoordinate(position.x, position.y - 2))); } @@ -42,6 +38,7 @@ public class Pawn extends Piece { if (board.get(position.x + 1, position.y - 1) != null) { possibleMoves.add(new Move(position, new BoardCoordinate(position.x + 1,position.y - 1))); } + for (Move move : possibleMoves) move.isPromotion = position.y - 1 == 0; } return possibleMoves; }