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())
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
{
|
{
|
||||||
|
@ -177,7 +177,6 @@ public class Echiquier {
|
|||||||
|
|
||||||
else //PARTIE DEPLACEMENT DE LA PIECE
|
else //PARTIE DEPLACEMENT DE LA PIECE
|
||||||
{
|
{
|
||||||
|
|
||||||
System.out.println("Choix validé ! Déplacement en cours.");
|
System.out.println("Choix validé ! Déplacement en cours.");
|
||||||
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
|
||||||
|
@ -229,6 +229,25 @@ public class Roi extends Piece {
|
|||||||
return false;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ public class main {
|
|||||||
if (e.getRoiB1().isRoiEchec() == true)
|
if (e.getRoiB1().isRoiEchec() == true)
|
||||||
{
|
{
|
||||||
System.out.println(
|
System.out.println(
|
||||||
"Comme votre roi est en echec la piec e a bouger est forcement cette derniere. Ou voulez vous la poser ?\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.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1];
|
A = e.getCodes()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1];
|
||||||
B = sc.nextLine();
|
B = sc.nextLine();
|
||||||
}
|
}
|
||||||
@ -128,26 +128,38 @@ public class main {
|
|||||||
// JOUEUR2
|
// JOUEUR2
|
||||||
System.out.println("Tour de " + j2.getNom() + "\n");
|
System.out.println("Tour de " + j2.getNom() + "\n");
|
||||||
|
|
||||||
if (jeu == true) {
|
|
||||||
do {
|
do {
|
||||||
System.out.println(
|
if (e.getRoiN1().isRoiEchec() == true)
|
||||||
"Quelle piece voulez-vous deplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n");
|
{
|
||||||
|
System.out.println(
|
||||||
A = sc.nextLine();
|
"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];
|
||||||
System.out.println(
|
B = sc.nextLine();
|
||||||
"À quel endroit la poser ? Donnez le code correspondant à l'endroit où la poser la pièce.\n");
|
}
|
||||||
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
|
} 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))
|
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;
|
||||||
}*/
|
}
|
||||||
//jeu = false;
|
|
||||||
|
|
||||||
} while (jeu == true);
|
} while (jeu == true);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user