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