Fou fonctionnel (normalement)

This commit is contained in:
Manon 2019-05-10 00:50:13 +02:00
parent 3ec9d2fec0
commit 5d3cee5704

View File

@ -14,20 +14,18 @@ public class Fou extends Piece {
System.out.println(p.getPosition().getY()); System.out.println(p.getPosition().getY());
System.out.println(this.getPosition().getX()); System.out.println(this.getPosition().getX());
System.out.println(this.getPosition().getY()); System.out.println(this.getPosition().getY());
for (int i = 1; i < 8; i++) for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE
{ {
System.out.println("test2");
if ( p.getPosition().getX() == this.getPosition().getX()+i) // On trouve le x de la 2eme coors if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere
{ {
System.out.println("test3");
if (p.getPosition().getY() == this.getPosition().getY()+i ) // on verifie que quand on avance de x vers la droite on monte aussi de x
if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on avance de x vers la droite on monte aussi de x
{ {
System.out.println("test4");
//for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
{ {
System.out.println(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getPosition().getX()); if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) )
if ( !(e.getEchiquier()[this.getPosition().getX()+j][this.getPosition().getY()+j].getNom().equals("..")) )
{ {
System.out.println("Le chemin n'est pas libre."); System.out.println("Le chemin n'est pas libre.");
return false; return false;
@ -37,12 +35,11 @@ public class Fou extends Piece {
} }
else if (p.getPosition().getY() == this.getPosition().getY()-i) else if (p.getPosition().getY() == this.getPosition().getY()-i) // on teste si quand on avance de x vers la droite on descend aussi de x
{ {
for (int j = this.getPosition().getX()+1;j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre for (int j = 1;this.getPosition().getX()+j <= p.getPosition().getX()-1;j++) // on verifie que le chemin est libre
{ {
System.out.println("test5.2"); if ( !(e.getEchiquier()[8-(this.getPosition().getY()-j)][this.getPosition().getX()+j-1].getNom().equals("..")) )
if ( !(e.getEchiquier()[j][this.getPosition().getY()-j].getNom().equals("..")) )
{ {
System.out.println("Le chemin n'est pas libre."); System.out.println("Le chemin n'est pas libre.");
return false; return false;
@ -50,19 +47,45 @@ public class Fou extends Piece {
} }
return true; return true;
} }
} }
else if ( p.getPosition().getX() == this.getPosition().getX()-i) // 2eme coors a gauche de la 1 ere
else if ( p.getPosition().getX() == this.getPosition().getX()-i)
{ {
System.out.println("test6");
if (p.getPosition().getY() == this.getPosition().getY()+i || p.getPosition().getY() == this.getPosition().getY()-i)
if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on va en x vers la gauche on monte aussi de x
{ {
for (int j = 1;this.getPosition().getX()-j >= p.getPosition().getX()+1;j++) // on verifie que le chemin est libre
{
if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) )
{
System.out.println("Le chemin n'est pas libre.");
return false;
}
}
return true; return true;
} }
else if (p.getPosition().getY() == this.getPosition().getY()-i) // on teste si quand on va de x vers la droite on descend aussi de x
{
for (int j = 1;this.getPosition().getX()-j >= p.getPosition().getX()+1;j++) // on verifie que le chemin est libre
{
if ( !(e.getEchiquier()[8-(this.getPosition().getY()-j)][this.getPosition().getX()+j-1].getNom().equals("..")) )
{
System.out.println("Le chemin n'est pas libre.");
return false;
}
}
return true;
}
return true;
} }
} }
return false; return false;