Correction mouvement cavalier + echec et mat (pas complètement) fini
This commit is contained in:
parent
48e9fe0f23
commit
540c7fbd30
@ -78,7 +78,7 @@ public class Cavalier extends Piece {
|
||||
}
|
||||
}
|
||||
|
||||
if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y+1 vers le haut et x-2 vers la gauche
|
||||
if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x-2 vers la gauche
|
||||
{
|
||||
if(p.getCouleur()!=this.getCouleur())
|
||||
{
|
||||
|
@ -177,7 +177,6 @@ public class Echiquier {
|
||||
|
||||
else //PARTIE DEPLACEMENT DE LA PIECE
|
||||
{
|
||||
|
||||
System.out.println("Choix validé ! Déplacement en cours.");
|
||||
stock = new Position(l+1,8-k); //stockage de la pos destination
|
||||
stock2 = new Position(j+1,8-i); //stockage de la pos source
|
||||
|
@ -229,6 +229,25 @@ public class Roi extends Piece {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean enEchecEtMat(Echiquier e, Piece p)
|
||||
{
|
||||
if ( !((8-(p.getPosition().getY()+1 ) )<0 || 8-(p.getPosition().getY()-1 )>7 || (p.getPosition().getX()-2 )<0 || (p.getPosition().getX() )>7)) //verifie que le roi n'est pas dans un coin
|
||||
{
|
||||
if (this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-1]) == false //verifie que si le roi ne peut pas de deplacer autour de lui
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1]) ==false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()]) == false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()]) == false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()+1)][p.getPosition().getX()-2]) == false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == false
|
||||
&& this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-2]) == false)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -128,26 +128,38 @@ public class main {
|
||||
// JOUEUR2
|
||||
System.out.println("Tour de " + j2.getNom() + "\n");
|
||||
|
||||
if (jeu == true) {
|
||||
do {
|
||||
if (e.getRoiN1().isRoiEchec() == true)
|
||||
{
|
||||
System.out.println(
|
||||
"Quelle piece voulez-vous deplacer ? 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ù la poser la pièce.\n");
|
||||
"Comme votre roi est en echec la piece a bouger est forcement cette derniere. Ou voulez vous la poser ?\n");
|
||||
A = e.getCodes()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().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();
|
||||
|
||||
} while (e.verificationMouvement(j2, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
||||
}
|
||||
|
||||
/*if (e.getRoiB1().enEchec(e,j1) && e.getRoiN1().enEchecEtMat(e,j1))
|
||||
} while (e.verificationMouvement(j2, A, B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
||||
|
||||
if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true || //si un des 2 roi est en echecetmmat
|
||||
e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true)
|
||||
{
|
||||
System.out.println("Le joueur 1 est echec et mat, il a perdu !");
|
||||
if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true ) //si cest le roi blanc
|
||||
{
|
||||
System.out.println("Le joueur 1 "+ j1.getNom() +" est echec et mat, il a perdu !");
|
||||
}
|
||||
if (e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true )//si c'est le roi noir
|
||||
{
|
||||
System.out.println("Le joueur 2 " + j2.getNom() +" est echec et mat, il a perdu !");
|
||||
}
|
||||
jeu = false;
|
||||
}*/
|
||||
//jeu = false;
|
||||
}
|
||||
|
||||
} while (jeu == true);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user