From 221d47c8fbc59a432a7373f425c1de760c000801 Mon Sep 17 00:00:00 2001 From: Jose Srifi Date: Sat, 25 May 2019 12:32:13 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20manger=20pieces=20alli=C3=A9es=20reine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/piecesEchiquier/Piece.java | 3 +++ src/piecesEchiquier/Reine.java | 22 +++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/piecesEchiquier/Piece.java b/src/piecesEchiquier/Piece.java index 4a500fc..d9359dc 100755 --- a/src/piecesEchiquier/Piece.java +++ b/src/piecesEchiquier/Piece.java @@ -93,6 +93,9 @@ public class Piece { public boolean deplacable(Echiquier e,Piece p) { + if(p.getCouleur().equals(this.getCouleur())) { + return false; + } return true; } diff --git a/src/piecesEchiquier/Reine.java b/src/piecesEchiquier/Reine.java index cd5fc90..d1b258a 100755 --- a/src/piecesEchiquier/Reine.java +++ b/src/piecesEchiquier/Reine.java @@ -9,12 +9,16 @@ public class Reine extends Piece { public boolean deplacable(Echiquier e,Piece p) { + if (p.getCouleur().equals(this.getCouleur())) { + System.err.println("Vous ne pouvez pas manger une pièce de votre faction"); + } if (e.estVide(p.getPosition()) == false) //si on mange une piece { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.out.println("Vous avez mangé une pièce !"); } + } if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne @@ -23,9 +27,9 @@ public class Reine extends Piece { { 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 + if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equalsIgnoreCase(".."))) // SI case non vide { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -41,7 +45,7 @@ public class Reine extends Piece { { if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -61,7 +65,7 @@ public class Reine extends Piece { { if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -93,7 +97,7 @@ public class Reine extends Piece { { if ( !(e.getEchiquier()[8-this.getPosition().getY()-i][this.getPosition().getX()-i-1].getNom().equals("..")) ) { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -108,7 +112,7 @@ public class Reine extends Piece { { if ( !(e.getEchiquier()[8-this.getPosition().getY()+i][this.getPosition().getX()-i-1].getNom().equals("..")) ) { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -125,7 +129,7 @@ public class Reine extends Piece { { if ( !(e.getEchiquier()[8-this.getPosition().getY()-i][this.getPosition().getX()+i-1].getNom().equals("..")) ) { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); } @@ -140,7 +144,7 @@ public class Reine extends Piece { { if ( !(e.getEchiquier()[8-this.getPosition().getY()+i][this.getPosition().getX()+i-1].getNom().equals("..")) ) { - if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message + if(!(p.getNom().equalsIgnoreCase("KN") || p.getNom().equalsIgnoreCase("KB"))) // si la pièce n'est pas un roi , on affiche le message { System.err.println("Le chemin n'est pas libre."); }