forcer le roi a bouger quand en echec

This commit is contained in:
Manon 2019-05-25 21:52:52 +02:00
parent 7bafc81c5d
commit 48e9fe0f23
2 changed files with 27 additions and 9 deletions

View File

@ -106,10 +106,10 @@ public class Piece {
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) 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"); System.out.println("Le roi est en échec");
roiEchec=true; p.roiEchec=true;
return true; return true;
} }
roiEchec=false; p.roiEchec=false;
return false; return false;
} }

View File

@ -37,7 +37,8 @@ public class main {
//déclaration des variables de déplacement //déclaration des variables de déplacement
String A; //coordonées de départ String A; //coordonées de départ
String B; //coordonées d'arrivée String B; //coordonées d'arrivée
//déclaration de l'échiquier //déclaration de l'échiquier
Echiquier e = new Echiquier(); Echiquier e = new Echiquier();
@ -97,14 +98,30 @@ public class main {
System.out.println("\n" + "Tour de " + j1.getNom() + "\n"); System.out.println("\n" + "Tour de " + j1.getNom() + "\n");
do { do {
System.out.println( if (e.getRoiB1().isRoiEchec() == true)
"Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); {
System.out.println(
"Comme votre roi est en echec la piec e a bouger est forcement cette derniere. Ou voulez vous la poser ?\n");
A = e.getCodes()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1];
B = sc.nextLine();
}
else {
System.out.println(
"Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n");
A = sc.nextLine();
System.out.println(
"À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n");
B = sc.nextLine();
}
A = sc.nextLine();
System.out.println(
"À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n");
B = sc.nextLine();
} while (e.verificationMouvement(j1, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées } while (e.verificationMouvement(j1, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
/*if (e.getRoiN1().enEchec(e,j2) && e.getRoiN1().enEchecEtMat(e,j2))
{
System.out.println("Le joueur 2 est echec et mat, il a perdu !");
jeu = false;
}*/
//REAFFICHAGE ECHIQUIER //REAFFICHAGE ECHIQUIER
System.out.println(e.toString()); System.out.println(e.toString());
@ -115,6 +132,7 @@ public class main {
do { do {
System.out.println( System.out.println(
"Quelle piece voulez-vous deplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); "Quelle piece voulez-vous deplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
System.out.println( System.out.println(