Fix manger pieces alliées reine

This commit is contained in:
Jose Srifi 2019-05-25 12:32:13 +02:00
parent 3a9f5cbaa0
commit 221d47c8fb
2 changed files with 16 additions and 9 deletions

View File

@ -93,6 +93,9 @@ public class Piece {
public boolean deplacable(Echiquier e,Piece p) public boolean deplacable(Echiquier e,Piece p)
{ {
if(p.getCouleur().equals(this.getCouleur())) {
return false;
}
return true; return true;
} }

View File

@ -9,12 +9,16 @@ public class Reine extends Piece {
public boolean deplacable(Echiquier e,Piece p) 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 (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 !"); 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 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 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."); 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 (!(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."); 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 (!(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."); 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 ( !(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."); 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 ( !(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."); 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 ( !(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."); 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 ( !(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."); System.err.println("Le chemin n'est pas libre.");
} }