publicbooleandeplacable(Echiquiere,Piecep)// vérifie que le roi peut être déplacé
{
//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.getCouleur()!=this.getCouleur())
{
returntrue;
}
}
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())
{
returntrue;
}
}
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())
{
returntrue;
}
}
//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.getCouleur()!=this.getCouleur())
{
returntrue;
}
}
//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.getCouleur()!=this.getCouleur())
{
returntrue;
}
}
//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.getCouleur()!=this.getCouleur())
{
returntrue;
}
}
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())
{
returntrue;
}
}
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(this.getPosition().getY()<=7&&e.getEchiquier()[8-(this.getPosition().getY()+1)][this.getPosition().getX()-1].getNom().equals(".."))// verification mouvement vers le haut libre
{
e.getEchiquier()[8-(this.getPosition().getY()+1)][this.getPosition().getX()-1]=this;// on fait un fantome roi
e.getEchiquier()[8-(this.getPosition().getY()+1)][this.getPosition().getX()-1].getPosition().setY(this.getPosition().getY()+1);// on corrige sa position
if(!(this.enEchec(e,Jopp)))// si pas en echec possibilité de mouvement donc pas echec et mat
if(e.getEchiquier()[8-(this.getPosition().getY()-1)][this.getPosition().getX()-1].getNom().equals(".."))// verification mouvement vers le bas libre
{
e.getEchiquier()[8-(this.getPosition().getY()-1)][this.getPosition().getX()-1]=this;// on fait un fantome roi
e.getEchiquier()[8-(this.getPosition().getY()-1)][this.getPosition().getX()-1].getPosition().setY(this.getPosition().getY()-1);// on corrige sa position
if(!(this.enEchec(e,Jopp)))// si pas en echec possibilité de mouvement donc pas echec et mat
if(e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)-1].getNom().equals(".."))// verification mouvement vers la gauche libre
{
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)-1]=this;// on fait un fantome roi
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)-1].getPosition().setX(this.getPosition().getX()-1);// on corrige sa position
if(!(this.enEchec(e,Jopp)))// si pas en echec possibilité de mouvement donc pas echec et mat
if(e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)+1].getNom().equals(".."))// verification mouvement vers la droite libre
{
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)+1]=this;// on fait un fantome roi
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)+1].getPosition().setX(this.getPosition().getX()+1);// on corrige sa position
if(!(this.enEchec(e,Jopp)))// si pas en echec possibilité de mouvement donc pas echec et mat