From aa7e603752d70275ce3c9ccecd492093ccdb6efe Mon Sep 17 00:00:00 2001 From: Manon Date: Fri, 24 May 2019 22:47:44 +0200 Subject: [PATCH] Modification reine et tour --- src/piecesEchiquier/Reine.java | 101 +++++++++++++-------------------- src/piecesEchiquier/Tour.java | 1 + 2 files changed, 42 insertions(+), 60 deletions(-) diff --git a/src/piecesEchiquier/Reine.java b/src/piecesEchiquier/Reine.java index 4fb1035..bc98bf5 100755 --- a/src/piecesEchiquier/Reine.java +++ b/src/piecesEchiquier/Reine.java @@ -14,10 +14,8 @@ public class Reine extends Piece { if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne { - System.out.println("test"); if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere { - System.out.println("test2"); for (int i = this.getPosition().getY()+1; i <= p.getPosition().getY()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin { if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide @@ -73,78 +71,61 @@ public class Reine extends Piece { return false; } - for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE + if (p.getPosition().getX() < this.getPosition().getX()) { - System.out.println("test"); - if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere + if (this.getPosition().getX() - p.getPosition().getX() == p.getPosition().getY()-this.getPosition().getY()) { - - - if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on avance de x vers la droite on monte aussi de x + for (int i = 1; i < p.getPosition().getY()-this.getPosition().getY();i++) { - 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()-i][this.getPosition().getX()-i-1].getNom().equals("..")) ) { - if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) - { - System.err.println("Le chemin n'est pas libre."); - return false; - } + System.err.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 avance 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.err.println("Le chemin n'est pas libre."); - return false; - } - } - return true; - } - - - + return true; } - - else if ( p.getPosition().getX() == this.getPosition().getX()-i) // 2eme coors a gauche de la 1 ere + else if (this.getPosition().getX() - p.getPosition().getX() == this.getPosition().getY()-p.getPosition().getY()) { - - 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 i = 1; i < this.getPosition().getY()-p.getPosition().getY();i++) { - 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()+i][this.getPosition().getX()-i-1].getNom().equals("..")) ) { - if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) - { - System.err.println("Le chemin n'est pas libre."); - return false; - } + System.err.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.err.println("Le chemin n'est pas libre."); - return false; - } - } - return true; - } - - return false; + return true; } + }else if (p.getPosition().getX() > this.getPosition().getX()) + { + if (p.getPosition().getX() - this.getPosition().getX() == p.getPosition().getY()-this.getPosition().getY()) + { + for (int i = 1; i < p.getPosition().getY()-this.getPosition().getY();i++) + { + if ( !(e.getEchiquier()[8-this.getPosition().getY()-i][this.getPosition().getX()+i-1].getNom().equals("..")) ) + { + System.err.println("Le chemin n'est pas libre."); + return false; + } + } + return true; + } + else if (p.getPosition().getX() - this.getPosition().getX() == this.getPosition().getY()-p.getPosition().getY()) + { + for (int i = 1; i < this.getPosition().getY()-p.getPosition().getY();i++) + { + if ( !(e.getEchiquier()[8-this.getPosition().getY()+i][this.getPosition().getX()+i-1].getNom().equals("..")) ) + { + System.err.println("Le chemin n'est pas libre."); + return false; + } + } + return true; + } + } - return false; + } } diff --git a/src/piecesEchiquier/Tour.java b/src/piecesEchiquier/Tour.java index 1c4164b..3f8319f 100755 --- a/src/piecesEchiquier/Tour.java +++ b/src/piecesEchiquier/Tour.java @@ -63,6 +63,7 @@ public class Tour extends Piece { { if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide { + System.err.println("Le chemin n'est pas libre."); return false; } }