From a3c86c2b24a1b765a917c9853f679ec47f4995c1 Mon Sep 17 00:00:00 2001 From: ACIKBAS TUNA BATIKAN <tuna.acikbas@etu.unistra.fr> Date: Fri, 12 May 2023 17:04:16 +0200 Subject: [PATCH] fixed nwap mouvement error --- .../MavenChess/src/main/java/model/Nwap.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/MavenChess/MavenChess/src/main/java/model/Nwap.java b/MavenChess/MavenChess/src/main/java/model/Nwap.java index 54b22a2..f7732c3 100644 --- a/MavenChess/MavenChess/src/main/java/model/Nwap.java +++ b/MavenChess/MavenChess/src/main/java/model/Nwap.java @@ -16,30 +16,33 @@ public class Nwap extends Pawn { ArrayList<Position> moves = new ArrayList<Position>(); Position arrival; - + Position arrival2; if(color == Piece.WHITE) { // black and white have an opposite direction behavior if(!hasBeenMoved){ // up left 2 - arrival = new Position(p.getX()-2, p.getY() +2); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } - // up left 2 - arrival = new Position(p.getX()+2, p.getY() +2); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } + // up right 2 } // up left 1 arrival = new Position(p.getX()-1, p.getY() +1); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } + if(arrival.isCorrect() && b.isFree(arrival)) { + arrival2 = new Position(p.getX()-2, p.getY() +2); + if(arrival2.isCorrect() && b.isFree(arrival2)) { moves.add(arrival2); } + moves.add(arrival); } - // up left 1 + + // up right 1 arrival = new Position(p.getX()+1, p.getY() +1); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } + if(arrival.isCorrect() && b.isFree(arrival)) { + arrival2 = new Position(p.getX()+2, p.getY() +2); + if(arrival2.isCorrect() && b.isFree(arrival2)) { moves.add(arrival2); } + moves.add(arrival); } arrival = new Position(p.getX(),p.getY()+1); if(b.isEnemy(arrival,p)) {moves.add(arrival);} @@ -50,24 +53,26 @@ public class Nwap extends Pawn { if(!hasBeenMoved){ - // up left 2 - arrival = new Position(p.getX()-2, p.getY() -2); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } - // up left 2 - arrival = new Position(p.getX()+2, p.getY() -2); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } } // up left 1 arrival = new Position(p.getX()-1, p.getY() -1); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } + if(arrival.isCorrect() && b.isFree(arrival)) { + // up left 2 + arrival2 = new Position(p.getX()-2, p.getY() -2); + if(arrival2.isCorrect() && b.isFree(arrival2)) { moves.add(arrival2); } + moves.add(arrival); } // up left 1 arrival = new Position(p.getX()+1, p.getY() -1); - if(arrival.isCorrect() && b.isFree(arrival)) { moves.add(arrival); } + if(arrival.isCorrect() && b.isFree(arrival)) { + + // up left 2 + arrival2 = new Position(p.getX()+2, p.getY() -2); + if(arrival2.isCorrect() && b.isFree(arrival2)) { moves.add(arrival2); }moves.add(arrival); } arrival = new Position(p.getX(),p.getY()-1); -- GitLab