From 5d3cee5704a1ec05de21d20687d4eabe37ffddbe Mon Sep 17 00:00:00 2001 From: Manon Date: Fri, 10 May 2019 00:50:13 +0200 Subject: [PATCH] Fou fonctionnel (normalement) --- src/piecesEchiquier/Fou.java | 65 ++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/src/piecesEchiquier/Fou.java b/src/piecesEchiquier/Fou.java index ef695b5..3beef25 100755 --- a/src/piecesEchiquier/Fou.java +++ b/src/piecesEchiquier/Fou.java @@ -14,20 +14,18 @@ public class Fou extends Piece { System.out.println(p.getPosition().getY()); System.out.println(this.getPosition().getX()); System.out.println(this.getPosition().getY()); - for (int i = 1; i < 8; i++) + for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE { - System.out.println("test2"); - if ( p.getPosition().getX() == this.getPosition().getX()+i) // On trouve le x de la 2eme coors + + if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere { - System.out.println("test3"); - if (p.getPosition().getY() == this.getPosition().getY()+i ) // on verifie que quand on avance de x vers la droite on monte aussi de x + + + if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on avance de x vers la droite on monte aussi de x { - System.out.println("test4"); - //for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre { - System.out.println(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getPosition().getX()); - if ( !(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getNom().equals("..")) ) + if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) { System.out.println("Le chemin n'est pas libre."); return false; @@ -37,12 +35,11 @@ public class Fou extends Piece { } - else if (p.getPosition().getY() == this.getPosition().getY()-i) + else if (p.getPosition().getY() == this.getPosition().getY()-i) // on teste si quand on avance de x vers la droite on descend aussi de x { - for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre + for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre { - System.out.println("test5.2"); - if ( !(e.getEchiquier()[j][this.getPosition().getY()-j].getNom().equals("..")) ) + if ( !(e.getEchiquier()[8-(this.getPosition().getY()-j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) { System.out.println("Le chemin n'est pas libre."); return false; @@ -50,19 +47,45 @@ public class Fou extends Piece { } return true; } + + + } - - - - - - else if ( p.getPosition().getX() == this.getPosition().getX()-i) + + else if ( p.getPosition().getX() == this.getPosition().getX()-i) // 2eme coors a gauche de la 1 ere { - System.out.println("test6"); - if (p.getPosition().getY() == this.getPosition().getY()+i || p.getPosition().getY() == this.getPosition().getY()-i) + + + if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on va en x vers la gauche on monte aussi de x { + for (int j = 1;this.getPosition().getX()-j >= p.getPosition().getX()+1;j++) // on verifie que le chemin est libre + { + if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) + { + System.out.println("Le chemin n'est pas libre."); + return false; + } + } return true; } + + + else if (p.getPosition().getY() == this.getPosition().getY()-i) // on teste si quand on va de x vers la droite on descend aussi de x + { + for (int j = 1;this.getPosition().getX()-j >= p.getPosition().getX()+1;j++) // on verifie que le chemin est libre + { + if ( !(e.getEchiquier()[8-(this.getPosition().getY()-j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) + { + System.out.println("Le chemin n'est pas libre."); + return false; + } + } + return true; + } + + + + return true; } } return false;