Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
030bed7c54
@ -6,4 +6,73 @@ public class Cavalier extends Piece {
|
|||||||
{
|
{
|
||||||
super(c,l,pos);
|
super(c,l,pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean deplacable(Echiquier e, Piece p) // vérifie que le Cavalier peut être déplacé
|
||||||
|
{
|
||||||
|
//Côté droit
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()+2)) //Verifie deplacement y+2 vers le haut et x+1 vers la droite
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()+2) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x+2 vers la droite
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()-2)) //Verifie deplacement y-2 vers le bas et x+1 vers la droite
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()+2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x+2 vers la droite
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Côté gauche
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()+2)) //Verifie deplacement y+2 vers le haut et x-1 vers la gauche
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x-2 vers la gauche
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()-2)) //Verifie deplacement y-2 vers le bas et x-1 vers la gauche
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y+1 vers le haut et x-2 vers la gauche
|
||||||
|
{
|
||||||
|
if(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,11 +49,11 @@ public class Echiquier {
|
|||||||
private Fou FouN1 = new Fou("Noir","FN",new Position(3,8));
|
private Fou FouN1 = new Fou("Noir","FN",new Position(3,8));
|
||||||
private Fou FouN2 = new Fou("Noir","FN",new Position(6,8));
|
private Fou FouN2 = new Fou("Noir","FN",new Position(6,8));
|
||||||
|
|
||||||
private Reine ReineB1 = new Reine("Blanc","RB",new Position(4,1));
|
private Reine ReineB1 = new Reine("Blanc","RB",new Position(5,1));
|
||||||
private Reine ReineN1 = new Reine("Noir","RN",new Position(4,8));
|
private Reine ReineN1 = new Reine("Noir","RN",new Position(5,8));
|
||||||
|
|
||||||
private Roi RoiB1 = new Roi("Blanc","KB",new Position(5,1));
|
private Roi RoiB1 = new Roi("Blanc","KB",new Position(4,1));
|
||||||
private Roi RoiN1 = new Roi("Noir","KN",new Position(5,8));
|
private Roi RoiN1 = new Roi("Noir","KN",new Position(4,8));
|
||||||
|
|
||||||
|
|
||||||
private Piece[][] echiquier =
|
private Piece[][] echiquier =
|
||||||
@ -86,6 +86,8 @@ public class Echiquier {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public String toString() // FONCTION AFFICHAGE
|
public String toString() // FONCTION AFFICHAGE
|
||||||
{
|
{
|
||||||
char alphabet[]= {'A','B','C','D','E','F','G','H'};
|
char alphabet[]= {'A','B','C','D','E','F','G','H'};
|
||||||
@ -109,16 +111,12 @@ public class Echiquier {
|
|||||||
return echec;
|
return echec;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean VerifFinale(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
|
||||||
{
|
{
|
||||||
int i = -1;
|
int i = -1;
|
||||||
int j = -1;
|
int j = -1;
|
||||||
int k;
|
int k;
|
||||||
int l;
|
int l;
|
||||||
//int stockX;
|
|
||||||
//int stockY;
|
|
||||||
//int stockX2;
|
|
||||||
//int stockY2;
|
|
||||||
Position stock;
|
Position stock;
|
||||||
Position stock2;
|
Position stock2;
|
||||||
|
|
||||||
@ -131,7 +129,7 @@ public class Echiquier {
|
|||||||
j++;
|
j++;
|
||||||
if (getCodes()[i][j].equals(A)) //Cherche dans la matrice code si on trouve une string = celle donnée par le joueur
|
if (getCodes()[i][j].equals(A)) //Cherche dans la matrice code si on trouve une string = celle donnée par le joueur
|
||||||
{
|
{
|
||||||
if (this.getEchiquier()[i][j].getClass().getName().equals("Piece")) // Verifie si la case choisie n'est pas vide
|
if (this.getEchiquier()[i][j].getNom().equals("..")) // 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;
|
||||||
@ -146,9 +144,6 @@ public class Echiquier {
|
|||||||
}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++) /// TEST 2EME COORS
|
for (k = 0; k < codes.length;k++) /// TEST 2EME COORS
|
||||||
{
|
{
|
||||||
for (l = 0; l < codes.length;l++)
|
for (l = 0; l < codes.length;l++)
|
||||||
@ -165,7 +160,7 @@ public class Echiquier {
|
|||||||
|
|
||||||
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
||||||
{
|
{
|
||||||
System.out.println("Déplacement impossible. Recommencez.");
|
System.out.println("Déplacement impossible. Recommencez. \n");
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -173,7 +168,75 @@ public class Echiquier {
|
|||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
System.out.println("Choix validés. déplacement en cours.");
|
System.out.println("Choix validés. déplacement en cours."); // Partie déplacement
|
||||||
|
stock = new Position(l+1,8-k);
|
||||||
|
stock2 = new Position(j+1,8-i);
|
||||||
|
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
||||||
|
this.getEchiquier()[k][l].setPosition(stock);
|
||||||
|
this.getEchiquier()[i][j] = new Piece(stock2);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("Un de vos codes est faux. Recommencez."); // SI COORS INEXISTANTE (EX : A)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean verificationMouvementSilencieuse(Joueur J, String A, String B) // FONCTION TRADUCTION, VERIF + DEPLACEMENTS SI POSSIBLE
|
||||||
|
{
|
||||||
|
int i = -1;
|
||||||
|
int j = -1;
|
||||||
|
int k;
|
||||||
|
int l;
|
||||||
|
Position stock;
|
||||||
|
Position stock2;
|
||||||
|
|
||||||
|
do { /// TEST 1ERE COORS
|
||||||
|
i++;
|
||||||
|
j = -1;
|
||||||
|
|
||||||
|
|
||||||
|
do {
|
||||||
|
j++;
|
||||||
|
if (getCodes()[i][j].equals(A)) //Cherche dans la matrice code si on trouve une string = celle donnée par le joueur
|
||||||
|
{
|
||||||
|
if (this.getEchiquier()[i][j].getNom().equals("..")) // Verifie si la case choisie n'est pas vide
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if (this.getEchiquier()[i][j].getCouleur() != J.getCouleur()) // Verifie si la piece choisie n'est pas de la faction opposée
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}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++) /// TEST 2EME COORS
|
||||||
|
{
|
||||||
|
for (l = 0; l < codes.length;l++)
|
||||||
|
{
|
||||||
|
if (getCodes()[k][l].equals(B) == true)
|
||||||
|
{
|
||||||
|
if (this.getEchiquier()[k][l].getCouleur() == J.getCouleur()) // Verifie que la piece visée n'est pas de ta faction
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else if (this.getEchiquier()[i][j].deplacable(this,this.getEchiquier()[k][l]) == false) // VERIFICATION AVEC FONCTION DEPLACABLE
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
{ // Partie déplacement
|
||||||
stock = new Position(l+1,8-k);
|
stock = new Position(l+1,8-k);
|
||||||
stock2 = new Position(j+1,8-i);
|
stock2 = new Position(j+1,8-i);
|
||||||
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
this.getEchiquier()[k][l] = this.getEchiquier()[i][j];
|
||||||
@ -193,7 +256,8 @@ public class Echiquier {
|
|||||||
int x = position.getX();
|
int x = position.getX();
|
||||||
int y = position.getY();
|
int y = position.getY();
|
||||||
|
|
||||||
if(this.echiquier[x][y].getNom()=="..") {
|
if(this.echiquier[8-y][x-1].getNom()=="..")
|
||||||
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -9,11 +9,6 @@ public class Fou extends Piece {
|
|||||||
|
|
||||||
public boolean deplacable(Echiquier e,Piece p)
|
public boolean deplacable(Echiquier e,Piece p)
|
||||||
{
|
{
|
||||||
System.out.println("test");
|
|
||||||
System.out.println(p.getPosition().getX());
|
|
||||||
System.out.println(p.getPosition().getY());
|
|
||||||
System.out.println(this.getPosition().getX());
|
|
||||||
System.out.println(this.getPosition().getY());
|
|
||||||
for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE
|
for (int i = 1; i < 8; i++) // ON CHERCHE SI LA 2EME COORS EST EN DIAGONALE DE LA 1 ERE
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package piecesEchiquier;
|
|||||||
public class Piece {
|
public class Piece {
|
||||||
|
|
||||||
|
|
||||||
private String couleur;
|
private String couleur = "";
|
||||||
//private String lettre = "..";
|
//private String lettre = "..";
|
||||||
private String nom = "..";
|
private String nom = "..";
|
||||||
private boolean enVie = true;
|
private boolean enVie = true;
|
||||||
|
@ -10,7 +10,7 @@ public class Pion extends Piece {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean deplacable(Piece p) // CHECK QUE PION PEUT ETRE DEPLACE
|
public boolean deplacable(Echiquier e, Piece p) // CHECK QUE PION PEUT ETRE DEPLACE
|
||||||
{
|
{
|
||||||
if (p.getPosition().getX()-1 == this.getPosition().getX() || p.getPosition().getX()+1 == this.getPosition().getX()) //vERIFICATION SI LA PERSONNE SOUHAITE MANGER LA PIECE
|
if (p.getPosition().getX()-1 == this.getPosition().getX() || p.getPosition().getX()+1 == this.getPosition().getX()) //vERIFICATION SI LA PERSONNE SOUHAITE MANGER LA PIECE
|
||||||
{
|
{
|
||||||
@ -31,13 +31,18 @@ public class Pion extends Piece {
|
|||||||
// Avancer tout droit
|
// Avancer tout droit
|
||||||
else if (p.getPosition().getX() == this.getPosition().getX())
|
else if (p.getPosition().getX() == this.getPosition().getX())
|
||||||
{
|
{
|
||||||
|
if (!(p.getNom().equals(".."))) // SI case non vide
|
||||||
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("Vous ne pouvez pas manger en avancant tout droit.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ( ((this.getCouleur().equals("Blanc")) && (p.getPosition().getY()-1 == this.getPosition().getY()) ) || ((this.getCouleur().equals("Noir")) && (p.getPosition().getY()+1 == this.getPosition().getY())))
|
||||||
{
|
{
|
||||||
return true;
|
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()) )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -51,7 +56,7 @@ public class Pion extends Piece {
|
|||||||
{
|
{
|
||||||
verif=true;
|
verif=true;
|
||||||
}
|
}
|
||||||
else if(this.getIni() == this.getPosition() && this.verif == false)
|
else if(this.getIni() == this.getPosition())
|
||||||
{
|
{
|
||||||
verif=false;
|
verif=false;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package piecesEchiquier;
|
package piecesEchiquier;
|
||||||
|
|
||||||
|
import joueurs.Joueur;
|
||||||
|
|
||||||
public class Roi extends Piece {
|
public class Roi extends Piece {
|
||||||
private boolean verif=false;
|
private boolean verif=false;
|
||||||
|
|
||||||
@ -31,4 +33,145 @@ public class Roi extends Piece {
|
|||||||
}
|
}
|
||||||
return verif;
|
return verif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean deplacable(Echiquier e, Piece p) // 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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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(p.getCouleur()!=this.getCouleur())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean enEchec(Echiquier e, Joueur Jopp)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < e.getEchiquier().length;i++)
|
||||||
|
{
|
||||||
|
for (int j = 0; j < e.getEchiquier().length;j++)
|
||||||
|
{
|
||||||
|
if ( !(e.getEchiquier()[i][j].getCouleur() == this.getCouleur() ) && (e.verificationMouvementSilencieuse(Jopp,e.getCodes()[i][j],e.getCodes()[8-this.getPosition().getY()][this.getPosition().getX()-1]) == true) )
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean enEchecEtMat(Echiquier e, Joueur Jopp)
|
||||||
|
{
|
||||||
|
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
|
||||||
|
{
|
||||||
|
e.getEchiquier()[8-(this.getPosition().getY()+1)][this.getPosition().getX()-1] = new Piece(new Position(this.getPosition().getX(),this.getPosition().getY()+1));
|
||||||
|
// on tue le fantome de test
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
{
|
||||||
|
e.getEchiquier()[8-(this.getPosition().getY()-1)][this.getPosition().getX()-1] = new Piece(new Position(this.getPosition().getX(),this.getPosition().getY()-1));
|
||||||
|
// on tue le fantome de test
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
{
|
||||||
|
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)-1] = new Piece(new Position(this.getPosition().getX()-1,this.getPosition().getY()) );
|
||||||
|
// on tue le fantome de test
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
{
|
||||||
|
e.getEchiquier()[8-this.getPosition().getY()][(this.getPosition().getX()-1)+1] = new Piece(new Position(this.getPosition().getX()+1,this.getPosition().getY()) );
|
||||||
|
// on tue le fantome de test
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,10 +11,8 @@ public class Tour extends Piece {
|
|||||||
{
|
{
|
||||||
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne
|
||||||
{
|
{
|
||||||
System.out.println("test");
|
|
||||||
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
if (p.getPosition().getY() > this.getPosition().getY()) // Test si la 2 eme piece est au dessus de la 1ere
|
||||||
{
|
{
|
||||||
System.out.println("test2");
|
|
||||||
for (int i = this.getPosition().getY()+1; i <= p.getPosition().getY()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
for (int i = this.getPosition().getY()+1; i <= p.getPosition().getY()-1;i++) // verifie qu'il n'y a pas d'obstacles sur le chemin
|
||||||
{
|
{
|
||||||
if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide
|
if (!(e.getEchiquier()[8-i][this.getPosition().getX()-1].getNom().equals(".."))) // SI case non vide
|
||||||
|
@ -47,14 +47,20 @@ public class main {
|
|||||||
System.out.println("A quel endroit la poser ? Donnez le code correspondant a l'endroit ou poser la piece.\n");
|
System.out.println("A quel endroit la poser ? Donnez le code correspondant a l'endroit ou poser la piece.\n");
|
||||||
B = sc.nextLine();
|
B = sc.nextLine();
|
||||||
|
|
||||||
}while (e.VerifFinale(j1, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
}while (e.verificationMouvement(j1, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
||||||
|
if (e.getRoiN1().enEchec(e,j2) && e.getRoiN1().enEchecEtMat(e,j2))
|
||||||
|
{
|
||||||
|
System.out.println("Le joueur 2 est echec et mat, il a perdu !");
|
||||||
|
jeu = false;
|
||||||
|
}
|
||||||
//REAFFICHAGE ECHIQUIER
|
//REAFFICHAGE ECHIQUIER
|
||||||
System.out.println(e.toString());
|
System.out.println(e.toString());
|
||||||
|
|
||||||
// JOUEUR2
|
// JOUEUR2
|
||||||
System.out.println("Tour de "+j2.getNom()+"\n");
|
System.out.println("Tour de "+j2.getNom()+"\n");
|
||||||
|
|
||||||
|
if (jeu == true)
|
||||||
|
{
|
||||||
do {
|
do {
|
||||||
System.out.println("Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece a deplacer(ex : A1).\n");
|
System.out.println("Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece a deplacer(ex : A1).\n");
|
||||||
A = sc.nextLine();
|
A = sc.nextLine();
|
||||||
@ -62,8 +68,14 @@ public class main {
|
|||||||
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit la poser la piece.\n");
|
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit la poser la piece.\n");
|
||||||
B = sc.nextLine();
|
B = sc.nextLine();
|
||||||
|
|
||||||
}while (e.VerifFinale(j2, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
}while (e.verificationMouvement(j2, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.getRoiB1().enEchec(e,j1) && e.getRoiN1().enEchecEtMat(e,j1))
|
||||||
|
{
|
||||||
|
System.out.println("Le joueur 1 est echec et mat, il a perdu !");
|
||||||
|
jeu = false;
|
||||||
|
}
|
||||||
//jeu = false;
|
//jeu = false;
|
||||||
|
|
||||||
}while (jeu == true);
|
}while (jeu == true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user