Deplacement roi sur bordure haut et droite reglé

This commit is contained in:
Johann 2019-05-26 22:56:10 +02:00
parent a72d62e678
commit c07f662043
3 changed files with 24 additions and 27 deletions

View File

@ -149,6 +149,9 @@ public class Echiquier {
{ {
if (this.getEchiquier()[i][j].getNom() == "KB") if (this.getEchiquier()[i][j].getNom() == "KB")
{ {
if(!(this.getEchiquier()[k+1][l].getPosition().getX()>7 ||this.getEchiquier()[k][l+1].getPosition().getY()>7 ||this.getEchiquier()[k-1][l].getPosition().getX()<0
||this.getEchiquier()[k][l-1].getPosition().getY()<0))//test le cas ou le roi se deplace sur une bordure
{
if(this.getEchiquier()[k][l+1].getNom() == "KN" || this.getEchiquier()[k+1][l+1].getNom()=="KN" if(this.getEchiquier()[k][l+1].getNom() == "KN" || this.getEchiquier()[k+1][l+1].getNom()=="KN"
|| this.getEchiquier()[k-1][l+1].getNom()== "KN" || this.getEchiquier()[k-1][l].getNom()== "KN" || this.getEchiquier()[k+1][l].getNom()== "KN" || this.getEchiquier()[k-1][l+1].getNom()== "KN" || this.getEchiquier()[k-1][l].getNom()== "KN" || this.getEchiquier()[k+1][l].getNom()== "KN"
|| this.getEchiquier()[k-1][l-1].getNom()== "KN" || this.getEchiquier()[k][l-1].getNom()== "KN" || this.getEchiquier()[k+1][l-1].getNom()== "KN") || this.getEchiquier()[k-1][l-1].getNom()== "KN" || this.getEchiquier()[k][l-1].getNom()== "KN" || this.getEchiquier()[k+1][l-1].getNom()== "KN")
@ -156,9 +159,13 @@ public class Echiquier {
System.err.println("Le roi ne peut pas se coller à l'autre roi"); System.err.println("Le roi ne peut pas se coller à l'autre roi");
return false; return false;
} }
}
} }
if (this.getEchiquier()[i][j].getNom() == "KN") if (this.getEchiquier()[i][j].getNom() == "KN")
{ {
if(!(this.getEchiquier()[k+1][l].getPosition().getX()>7 ||this.getEchiquier()[k][l+1].getPosition().getY()>7 ||this.getEchiquier()[k-1][l].getPosition().getX()<0
||this.getEchiquier()[k][l-1].getPosition().getY()<0))//test le cas ou le roi se deplace sur une bordure
{
if(this.getEchiquier()[k][l+1].getNom() == "KB" || this.getEchiquier()[k+1][l+1].getNom()=="KB" if(this.getEchiquier()[k][l+1].getNom() == "KB" || this.getEchiquier()[k+1][l+1].getNom()=="KB"
|| this.getEchiquier()[k-1][l+1].getNom()== "KB" || this.getEchiquier()[k-1][l].getNom()== "KB" || this.getEchiquier()[k+1][l].getNom()== "KB" || this.getEchiquier()[k-1][l+1].getNom()== "KB" || this.getEchiquier()[k-1][l].getNom()== "KB" || this.getEchiquier()[k+1][l].getNom()== "KB"
|| this.getEchiquier()[k-1][l-1].getNom()== "KB" || this.getEchiquier()[k][l-1].getNom()== "KB" || this.getEchiquier()[k+1][l-1].getNom()== "KB") || this.getEchiquier()[k-1][l-1].getNom()== "KB" || this.getEchiquier()[k][l-1].getNom()== "KB" || this.getEchiquier()[k+1][l-1].getNom()== "KB")
@ -167,6 +174,7 @@ public class Echiquier {
return false; return false;
} }
} }
}
} }
if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
{ {

View File

@ -248,6 +248,7 @@ public class Roi extends Piece {
if (p.getNom().equals("KN")) if (p.getNom().equals("KN"))
{ {
if (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getCouleur() == "Noir" && //gauche if (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getCouleur() == "Noir" && //gauche
e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getCouleur() == "Noir" && //droite e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getCouleur() == "Noir" && //droite
e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1].getCouleur() == "Noir" && //bas e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1].getCouleur() == "Noir" && //bas
@ -256,8 +257,11 @@ public class Roi extends Piece {
) )
{ {
return false; return false;
}else if ( p.aBouge()==false && }
if(!(p.getPosition().getX()>7 ||p.getPosition().getY()>7 ||p.getPosition().getX()<0
||p.getPosition().getY()<0))//verifie que ca va pas chercher une case vide si elle est en dehors de la matrice
{
if( p.aBouge()==false &&
(e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == true) // gauche verifie si le roi ne peut pas de deplacer autour de lui (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == true) // gauche verifie si le roi ne peut pas de deplacer autour de lui
|| (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == true ) //droite || (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == true ) //droite
|| (e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1]) == true) // bas || (e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY()-1)][p.getPosition().getX()-1]) == true) // bas
@ -269,6 +273,7 @@ public class Roi extends Piece {
} else } else
return true; return true;
} }
}
if(p.getNom() == "KN" && p.aBouge()==true) if(p.getNom() == "KN" && p.aBouge()==true)
{ {
@ -295,7 +300,11 @@ public class Roi extends Piece {
) )
{ {
return false; return false;
}else if ( p.aBouge()==false && }
if(!(p.getPosition().getX()>7 ||p.getPosition().getY()>7 ||p.getPosition().getX()<0
||p.getPosition().getY()<0)) //verifie que ca va pas chercher une case vide si elle est en dehors de la matrice
{
if ( p.aBouge()==false &&
(e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == true) // gauche verifie si le roi ne peut pas de deplacer autour de lui (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()-2]) == true) // gauche verifie si le roi ne peut pas de deplacer autour de lui
|| (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == true ) //droite || (e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()].getNom().equals("..") && this.deplacable(e, e.getEchiquier()[8-(p.getPosition().getY())][p.getPosition().getX()]) == true ) //droite
@ -305,7 +314,9 @@ public class Roi extends Piece {
) )
{ {
return false; return false;
} else }
}
else
return true; return true;
} }

View File

@ -147,25 +147,7 @@ public class main {
System.out.println("Le joueur 1 "+ j1.getNom() +" est echec et mat, il a perdu !"); System.out.println("Le joueur 1 "+ j1.getNom() +" est echec et mat, il a perdu !");
} }
jeu = false; jeu = false;
} }
/*
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)
{
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;
}*/
if(jeu == true) if(jeu == true)
{ {
//REAFFICHAGE ECHIQUIER //REAFFICHAGE ECHIQUIER
@ -252,9 +234,5 @@ public class main {
System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrées lors de la fin du programme."); System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrées lors de la fin du programme.");
} }
} }
System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrées lors du démarrage du programme. (nom de joueur vide OU un mauvais numéro de configuration par exemple)");
} }
} }