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 l;
|
||||
|
||||
do {
|
||||
do { /// Tests pour la premiere piece
|
||||
i++;
|
||||
j = -1;
|
||||
|
||||
|
||||
do {
|
||||
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.");
|
||||
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.");
|
||||
return false;
|
||||
@ -141,21 +143,34 @@ public class Echiquier {
|
||||
}
|
||||
}while(( (getCodes()[i][j].equals(A)) == false) && (j+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 (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.");
|
||||
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.");
|
||||
return false;
|
||||
}else
|
||||
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
{
|
||||
System.out.println("Choix validés. déplacement en cours.");
|
||||
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
||||
|
@ -103,7 +103,7 @@ public class Piece {
|
||||
this.ini = ini;
|
||||
}
|
||||
|
||||
public boolean deplacable(Piece p)
|
||||
public boolean deplacable(Echiquier e,Piece p)
|
||||
{
|
||||
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");
|
||||
if ((this.getCouleur().equals("Blanc") && p.getPosition().getY()-1 == this.getPosition().getY()) || (this.getCouleur() == "noir" && p.getPosition().getY()+1 == this.getPosition().getY()))
|
||||
@ -25,23 +25,19 @@ public class Pion extends Piece {
|
||||
}
|
||||
System.out.println("Vous avez mangé une pièce !");
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// AVancer tout droit
|
||||
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()))
|
||||
{
|
||||
//System.out.println("test1");
|
||||
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())))
|
||||
{
|
||||
System.out.println("test2");
|
||||
|
@ -21,8 +21,9 @@ public class Tour extends Piece {
|
||||
return verif;
|
||||
}
|
||||
|
||||
public boolean[][] deplacable(Echiquier e,Piece p) {
|
||||
boolean[][] deplacementsInherentsPiece = new boolean[8][8];
|
||||
public boolean deplacable(Echiquier e,Piece p)
|
||||
{
|
||||
/*boolean[][] deplacementsInherentsPiece = new boolean[8][8];
|
||||
Position position = this.getPosition();
|
||||
int x = position.getX();
|
||||
int y = position.getY();
|
||||
@ -34,6 +35,64 @@ public class Tour extends Piece {
|
||||
deplacementsInherentsPiece[x][j]=true;
|
||||
}
|
||||
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