2ème cas d'echec fini

This commit is contained in:
Johann 2019-05-25 01:09:51 +02:00
parent a879eac699
commit 80f155b42b
2 changed files with 113 additions and 8 deletions

View File

@ -103,6 +103,7 @@ public class Piece {
System.out.println("Le roi est en échec"); System.out.println("Le roi est en échec");
return true; return true;
} }
return false; return false;
} }
} }

View File

@ -48,64 +48,168 @@ public class Roi extends Piece {
//Côté droit //Côté droit
if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x+1 vers la droite if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x+1 vers la droite
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur()) && (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x+1 vers la droite if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x+1 vers la droite
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur()) && (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x+1 vers la droite if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x+1 vers la droite
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
//Coté haut //Coté haut
if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
//Côté bas //Côté bas
if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
//Côté gauche //Côté gauche
if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x-1 vers la gauche if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x-1 vers la gauche
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x-1 vers la gauche if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x-1 vers la gauche
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }
if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x-1 vers la gauche if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x-1 vers la gauche
{ {
if(p.getCouleur()!=this.getCouleur()) if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce
{ {
for (int i=0; i<8;i++) // parcours de la matrice
{
for (int j=0; j<8;j++)
{
if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse
{
if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor
{
return false;
}
}
}
}
return true; return true;
} }
} }