Modificationfonction deplacable tour
(+arrangements pour que ce soit fonctionnel)
This commit is contained in:
parent
d43f65fba0
commit
cb3f17343e
@ -121,19 +121,21 @@ public class Echiquier {
|
|||||||
int k;
|
int k;
|
||||||
int l;
|
int l;
|
||||||
|
|
||||||
do {
|
do { /// Tests pour la premiere piece
|
||||||
i++;
|
i++;
|
||||||
j = -1;
|
j = -1;
|
||||||
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
j++;
|
j++;
|
||||||
if (getCodes()[i][j].equals(A))
|
if (getCodes()[i][j].equals(A)) //Cherche dans la mqtrice code si on trouve un string en accord avec celui donné par le joueur
|
||||||
{
|
{
|
||||||
if (this.getEchiquier()[i][j].getClass().getName().equals("Piece"))
|
if (this.getEchiquier()[i][j].getClass().getName().equals("Piece")) // Verifie si la case choisie n'est pas vide
|
||||||
{
|
{
|
||||||
System.out.println("Vous avez choisi une case vide. Recommencez.");
|
System.out.println("Vous avez choisi une case vide. Recommencez.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (this.getEchiquier()[i][j].getCouleur() != J.getCouleur())
|
else if (this.getEchiquier()[i][j].getCouleur() != J.getCouleur()) // Verifie si la piece choisie n'est pas de la faction opposée
|
||||||
{
|
{
|
||||||
System.out.println("Le pion choisi n'est pas de votre faction. Recommencez.");
|
System.out.println("Le pion choisi n'est pas de votre faction. Recommencez.");
|
||||||
return false;
|
return false;
|
||||||
@ -142,20 +144,33 @@ public class Echiquier {
|
|||||||
}while(( (getCodes()[i][j].equals(A)) == false) && (j+1 < codes.length));
|
}while(( (getCodes()[i][j].equals(A)) == false) && (j+1 < codes.length));
|
||||||
}while((getCodes()[i][j].equals(A) == false) && (i+1 < codes.length));
|
}while((getCodes()[i][j].equals(A) == false) && (i+1 < codes.length));
|
||||||
|
|
||||||
for (k = 0; k < codes.length;k++)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for (k = 0; k < codes.length;k++) // Tests pour la 2 eme piece/case choisie
|
||||||
{
|
{
|
||||||
for (l = 0; l < codes.length;l++) {
|
for (l = 0; l < codes.length;l++)
|
||||||
|
{
|
||||||
if (getCodes()[k][l].equals(B) == true)
|
if (getCodes()[k][l].equals(B) == true)
|
||||||
{
|
{
|
||||||
if (this.getEchiquier()[k][l].getCouleur() == J.getCouleur())
|
if (this.getEchiquier()[k][l].getCouleur() == J.getCouleur()) // Verifie que la piece visée n'est pas de ta faction
|
||||||
{
|
{
|
||||||
System.out.println("Le pion que vous voulez manger est de votre faction. Recommencez.");
|
System.out.println("Le pion que vous voulez manger est de votre faction. Recommencez.");
|
||||||
return false;
|
return false;
|
||||||
}else if (this.getEchiquier()[i][j].deplacable(this.getEchiquier()[k][l]) == false)
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
||||||
{
|
{
|
||||||
System.out.println("D<EFBFBD>placement impossible. Recommencez.");
|
System.out.println("D<EFBFBD>placement impossible. Recommencez.");
|
||||||
return false;
|
return false;
|
||||||
}else
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
{
|
{
|
||||||
System.out.println("Choix validés. déplacement en cours.");
|
System.out.println("Choix validés. déplacement en cours.");
|
||||||
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
||||||
|
@ -103,7 +103,7 @@ public class Piece {
|
|||||||
this.ini = ini;
|
this.ini = ini;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean deplacable(Piece p)
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -10,9 +10,9 @@ public class Pion extends Piece {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean deplacable(Piece p)
|
public boolean deplacable(Piece p) // CHECK QUE PION PEUT ETRE DEPLACE
|
||||||
{
|
{
|
||||||
if (p.getPosition().getX()-1 == this.getPosition().getX() || p.getPosition().getX()+1 == this.getPosition().getX())
|
if (p.getPosition().getX()-1 == this.getPosition().getX() || p.getPosition().getX()+1 == this.getPosition().getX()) //vERIFICATION SI LA PERSONNE SOUHAITE MANGER LA PIECE
|
||||||
{
|
{
|
||||||
//System.out.println("test4");
|
//System.out.println("test4");
|
||||||
if ((this.getCouleur().equals("Blanc") && p.getPosition().getY()-1 == this.getPosition().getY()) || (this.getCouleur() == "noir" && p.getPosition().getY()+1 == this.getPosition().getY()))
|
if ((this.getCouleur().equals("Blanc") && p.getPosition().getY()-1 == this.getPosition().getY()) || (this.getCouleur() == "noir" && p.getPosition().getY()+1 == this.getPosition().getY()))
|
||||||
@ -26,22 +26,18 @@ public class Pion extends Piece {
|
|||||||
System.out.println("Vous avez mangé une pièce !");
|
System.out.println("Vous avez mangé une pièce !");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// AVancer tout droit
|
||||||
else if (p.getPosition().getX() == this.getPosition().getX())
|
else if (p.getPosition().getX() == this.getPosition().getX())
|
||||||
{
|
{
|
||||||
|
|
||||||
if ((this.getCouleur().equals("Blanc")) && (p.getPosition().getY()-1 == this.getPosition().getY()) || (this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY()))
|
if ((this.getCouleur().equals("Blanc")) && (p.getPosition().getY()-1 == this.getPosition().getY()) || (this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY()))
|
||||||
{
|
{
|
||||||
//System.out.println("test1");
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
else if ((this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY()))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
} */
|
|
||||||
if (this.aBouge() == false && ((this.getCouleur().equals("Blanc") && p.getPosition().getY()-2 == this.getPosition().getY()) || (this.getCouleur().equals("Noir") && p.getPosition().getY()+2 == this.getPosition().getY())))
|
if (this.aBouge() == false && ((this.getCouleur().equals("Blanc") && p.getPosition().getY()-2 == this.getPosition().getY()) || (this.getCouleur().equals("Noir") && p.getPosition().getY()+2 == this.getPosition().getY())))
|
||||||
{
|
{
|
||||||
System.out.println("test2");
|
System.out.println("test2");
|
||||||
|
@ -21,8 +21,9 @@ public class Tour extends Piece {
|
|||||||
return verif;
|
return verif;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean[][] deplacable(Echiquier e,Piece p) {
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
boolean[][] deplacementsInherentsPiece = new boolean[8][8];
|
{
|
||||||
|
/*boolean[][] deplacementsInherentsPiece = new boolean[8][8];
|
||||||
Position position = this.getPosition();
|
Position position = this.getPosition();
|
||||||
int x = position.getX();
|
int x = position.getX();
|
||||||
int y = position.getY();
|
int y = position.getY();
|
||||||
@ -34,6 +35,64 @@ public class Tour extends Piece {
|
|||||||
deplacementsInherentsPiece[x][j]=true;
|
deplacementsInherentsPiece[x][j]=true;
|
||||||
}
|
}
|
||||||
deplacementsInherentsPiece[x][y]=false;
|
deplacementsInherentsPiece[x][y]=false;
|
||||||
return deplacementsInherentsPiece;
|
return deplacementsInherentsPiece;*/
|
||||||
|
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
||||||
|
{
|
||||||
|
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
||||||
|
{
|
||||||
|
for (int i = this.getPosition().getY()+1; i < p.getPosition().getY();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
|
{
|
||||||
|
if (!(e.getEchiquier()[this.getPosition().getX()][i].getLettre().equals(".."))) // SI case non vide
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (p.getPosition().getY() < this.getPosition().getY()) // Test si la 2 eme piece est en dessous de la 1ere
|
||||||
|
{
|
||||||
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--)
|
||||||
|
{
|
||||||
|
if (!(e.getEchiquier()[this.getPosition().getY()][i].getLettre().equals(".."))) // SI case non vide
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne
|
||||||
|
{
|
||||||
|
if (p.getPosition().getX() > this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
||||||
|
{
|
||||||
|
for (int i = this.getPosition().getX()+1; i < p.getPosition().getX();i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
|
{
|
||||||
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
||||||
|
{
|
||||||
|
System.out.println("test");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (p.getPosition().getX() < this.getPosition().getX()) // Test si la 2 eme piece est au dessus de la 1ere
|
||||||
|
{
|
||||||
|
for (int i = this.getPosition().getX()-1; i > p.getPosition().getX();i--) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
|
{
|
||||||
|
if (!(e.getEchiquier()[i][this.getPosition().getY()].getLettre().equals(".."))) // SI case non vide
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user