Merge remote-tracking branch 'origin/master'

This commit is contained in:
Johann 2019-05-24 23:00:15 +02:00
commit 043d397218
3 changed files with 44 additions and 58 deletions

View File

@ -100,6 +100,7 @@ public class Echiquier {
public boolean verificationMouvement(Joueur J, String A, String B) // FONCTION TRADUCTION, VERIF + DEPLACEMENTS SI POSSIBLE public boolean verificationMouvement(Joueur J, String A, String B) // FONCTION TRADUCTION, VERIF + DEPLACEMENTS SI POSSIBLE
{// String A = coordonées de A; String B = coordonées de B {// String A = coordonées de A; String B = coordonées de B
B.toUpperCase();
int i = -1; int i = -1;
int j = -1; int j = -1;
int k; int k;
@ -194,7 +195,7 @@ public class Echiquier {
} }
} }
} }
System.out.println("Un de vos codes est faux. Recommencez."); // si coors entré inexistante System.err.println("Un de vos codes est faux. Recommencez."); // si coors entré inexistante
return false; return false;
} }

View File

@ -76,17 +76,51 @@ public class Reine extends Piece {
return false; return false;
} }
for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE if (p.getPosition().getX() < this.getPosition().getX())
{ {
if ( p.getPosition().getX() == this.getPosition().getX()+i) // 2eme coors a droite de la 1 ere if (this.getPosition().getX() - p.getPosition().getX() == p.getPosition().getY()-this.getPosition().getY())
{ {
for (int i = 1; i < p.getPosition().getY()-this.getPosition().getY();i++)
if (p.getPosition().getY() == this.getPosition().getY()+i ) // on teste si quand on avance de x vers la droite 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()-i][this.getPosition().getX()-i-1].getNom().equals("..")) )
{ {
if ( !(e.getEchiquier()[8-(this.getPosition().getY()+j)][this.getPosition().getX()+j-1].getNom().equals("..")) ) System.err.println("Le chemin n'est pas libre.");
return false;
}
}
return true;
}
else if (this.getPosition().getX() - p.getPosition().getX() == this.getPosition().getY()-p.getPosition().getY())
{
for (int i = 1; i < this.getPosition().getY()-p.getPosition().getY();i++)
{
if ( !(e.getEchiquier()[8-this.getPosition().getY()+i][this.getPosition().getX()-i-1].getNom().equals("..")) )
{
System.err.println("Le chemin n'est pas libre.");
return false;
}
}
return true;
}
}else if (p.getPosition().getX() > this.getPosition().getX())
{
if (p.getPosition().getX() - this.getPosition().getX() == p.getPosition().getY()-this.getPosition().getY())
{
for (int i = 1; i < p.getPosition().getY()-this.getPosition().getY();i++)
{
if ( !(e.getEchiquier()[8-this.getPosition().getY()-i][this.getPosition().getX()+i-1].getNom().equals("..")) )
{
System.err.println("Le chemin n'est pas libre.");
return false;
}
}
return true;
}
else if (p.getPosition().getX() - this.getPosition().getX() == this.getPosition().getY()-p.getPosition().getY())
{
for (int i = 1; i < this.getPosition().getY()-p.getPosition().getY();i++)
{
if ( !(e.getEchiquier()[8-this.getPosition().getY()+i][this.getPosition().getX()+i-1].getNom().equals("..")) )
{ {
System.err.println("Le chemin n'est pas libre."); System.err.println("Le chemin n'est pas libre.");
return false; return false;
@ -95,58 +129,8 @@ public class Reine extends Piece {
return true; return true;
} }
}
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 = 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.err.println("Le chemin n'est pas libre.");
return false; return false;
}
}
return true;
}
} }
else if ( p.getPosition().getX() == this.getPosition().getX()-i) // 2eme coors a gauche de la 1 ere
{
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.err.println("Le chemin n'est pas libre.");
return false;
}
}
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.err.println("Le chemin n'est pas libre.");
return false;
}
}
return true;
}
return false;
}
}
return false;
}
} }

View File

@ -68,6 +68,7 @@ public class Tour extends Piece {
{ {
if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide if (!(e.getEchiquier()[8-this.getPosition().getY()][i-1].getNom().equals(".."))) // SI case non vide
{ {
System.err.println("Le chemin n'est pas libre.");
return false; return false;
} }
} }