Rajout condition d'affichage + methode metEnEchec + supression d'éléments inutiles
This commit is contained in:
parent
a4252e634b
commit
a261b3a4df
@ -147,7 +147,7 @@ public class Echiquier {
|
|||||||
|
|
||||||
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
||||||
{
|
{
|
||||||
System.err.println("Déplacement impossiblec6. Recommencez ! \n");
|
System.err.println("Déplacement impossible. Recommencez ! \n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,9 +158,38 @@ public class Echiquier {
|
|||||||
stock = new Position(l+1,8-k); //stockage de la pos destination
|
stock = new Position(l+1,8-k); //stockage de la pos destination
|
||||||
stock2 = new Position(j+1,8-i); //stockage de la pos source
|
stock2 = new Position(j+1,8-i); //stockage de la pos source
|
||||||
this.getEchiquier()[k][l] = this.getEchiquier()[i][j]; //deplacement de la piece
|
this.getEchiquier()[k][l] = this.getEchiquier()[i][j]; //deplacement de la piece
|
||||||
this.getEchiquier()[k][l].setPosition(stock); //donner nouvelle position a la piece dépalcer
|
this.getEchiquier()[k][l].setPosition(stock); //donner nouvelle position a la piece déplacer
|
||||||
this.getEchiquier()[i][j] = new Piece(stock2); //mettre piece vide dans la pos source, car la case est maintenant vide
|
this.getEchiquier()[i][j] = new Piece(stock2); //mettre piece vide dans la pos source, car la case est maintenant vide
|
||||||
return true;
|
int p;
|
||||||
|
int q;
|
||||||
|
Piece stockageRoi=null;
|
||||||
|
if( this.getEchiquier( )[k][l].getCouleur().equals("Blanc") ) {
|
||||||
|
for ( p=0; p < codes.length;p++) //cherche le roi noir dans la matrice
|
||||||
|
{
|
||||||
|
for ( q=0; q < codes.length;q++)
|
||||||
|
{
|
||||||
|
if(this.getEchiquier()[p][q].getNom().equals("KN"))
|
||||||
|
{
|
||||||
|
stockageRoi=this.getEchiquier()[p][q];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for ( p=0; p < codes.length;p++) //cherche le roi blanc dans la matrice
|
||||||
|
{
|
||||||
|
for ( q=0; q < codes.length;q++)
|
||||||
|
{
|
||||||
|
if(this.getEchiquier()[p][q].getNom().equals("KB"))
|
||||||
|
{
|
||||||
|
stockageRoi=this.getEchiquier()[p][q];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.getEchiquier()[k][l].metEnEchec(this,stockageRoi); //Verifie si le roi sera en echec
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,6 @@ public class Fou extends Piece {
|
|||||||
public boolean deplacable(Echiquier e,Piece p)
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
{
|
{
|
||||||
|
|
||||||
//if (e.estVide(p.getPosition()) == false) //si on mange une piece
|
|
||||||
// System.out.println("Vous avez mangé une pièce !");
|
|
||||||
|
|
||||||
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().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message
|
||||||
@ -20,7 +17,6 @@ public class Fou extends Piece {
|
|||||||
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())
|
if (p.getPosition().getX() < this.getPosition().getX())
|
||||||
{
|
{
|
||||||
|
@ -95,4 +95,14 @@ public class Piece {
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean metEnEchec(Echiquier e, Piece p)
|
||||||
|
{
|
||||||
|
if(this.deplacable(e,p) == true) //1er cas : la pièce se deplace une seconde fois (pas vraiment) et verifie qu'elle tombe sur la position du roi (soit noir, soit blanc selon la couleur de la pièce)
|
||||||
|
{
|
||||||
|
System.out.println("Le roi est en échec");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,10 @@ public class Pion extends Piece {
|
|||||||
{
|
{
|
||||||
if (!(p.getNom().equals(".."))) // SI case non vide
|
if (!(p.getNom().equals(".."))) // SI case non vide
|
||||||
{
|
{
|
||||||
System.err.println("Vous ne pouvez pas manger en avancant tout droit.");
|
if(!(p.getNom().equals("KN") || p.getNom().equals("KB"))) // si la pièce n'est pas un roi , on affiche le message
|
||||||
|
{
|
||||||
|
System.err.println("Vous ne pouvez pas manger en avancant tout droit.");
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ( ((this.getCouleur().equals("Blanc")) && (p.getPosition().getY()-1 == this.getPosition().getY()) ) || ((this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY())))
|
if ( ((this.getCouleur().equals("Blanc")) && (p.getPosition().getY()-1 == this.getPosition().getY()) ) || ((this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY())))
|
||||||
|
@ -19,10 +19,8 @@ public class Reine extends Piece {
|
|||||||
|
|
||||||
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
|
||||||
{
|
{
|
||||||
System.out.println("test");
|
|
||||||
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
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
|
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().equals(".."))) // SI case non vide
|
||||||
@ -80,7 +78,6 @@ public class Reine extends Piece {
|
|||||||
|
|
||||||
for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE
|
for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE
|
||||||
{
|
{
|
||||||
System.out.println("test");
|
|
||||||
if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere
|
if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -111,10 +111,7 @@ public class Roi extends Piece {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
public boolean isEnEchec()
|
|
||||||
{
|
|
||||||
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user