diff --git a/src/piecesEchiquier/Echiquier.java b/src/piecesEchiquier/Echiquier.java index 2cbd987..f5887c4 100755 --- a/src/piecesEchiquier/Echiquier.java +++ b/src/piecesEchiquier/Echiquier.java @@ -15,6 +15,7 @@ public class Echiquier { {"A2","B2","C2","D2","E2","F2","G2","H2"}, {"A1","B1","C1","D1","E1","F1","G1","H1"} }; + private Pion pionB1 = new Pion("Blanc","PB",new Position(1,2)); private Pion pionB2 = new Pion("Blanc","PB",new Position(2,2)); private Pion pionB3 = new Pion("Blanc","PB",new Position(3,2)); @@ -79,19 +80,13 @@ public class Echiquier { } - - public void setEchiquier(Piece[][] echiquier) { - this.echiquier = echiquier; - } - - public String[][] getCodes() { return codes; } - public String toString() + public String toString() // FONCTION AFFICHAGE { char alphabet[]= {'A','B','C','D','E','F','G','H'}; String echec = ""; @@ -101,7 +96,7 @@ public class Echiquier { echec+= compteur + " "; for (int j = 0; j < 8;j++) { - echec +=echiquier[i][j].getLettre(); + echec +=echiquier[i][j].getNom(); echec += " "; } echec += "\n"; @@ -114,21 +109,23 @@ public class Echiquier { return echec; } - public boolean VerifFinale(Joueur J, String A, String B) + public boolean VerifFinale(Joueur J, String A, String B) // FONCTION TRADUCTION, VERIF + DEPLACEMENTS SI POSSIBLE { int i = -1; int j = -1; int k; int l; + int stockX; + int stockY; - do { /// Tests pour la premiere piece + do { /// TEST 1ERE COORS i++; j = -1; do { j++; - 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 (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 { @@ -148,7 +145,7 @@ public class Echiquier { - for (k = 0; k < codes.length;k++) // Tests pour la 2 eme piece/case choisie + for (k = 0; k < codes.length;k++) /// TEST 2EME COORS { for (l = 0; l < codes.length;l++) { @@ -164,7 +161,7 @@ public class Echiquier { 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."); return false; } @@ -173,24 +170,28 @@ public class Echiquier { else { System.out.println("Choix validés. déplacement en cours."); + stockX = this.getEchiquier()[k][l].getPosition().getX(); + stockY = this.getEchiquier()[k][l].getPosition().getY(); this.getEchiquier()[k][l] = this.getEchiquier()[i][j]; - this.getEchiquier()[i][j] = new Piece(new Position(i,j)); + this.getEchiquier()[k][l].setPosition(new Position(stockX,stockY)); + this.getEchiquier()[i][j] = new Piece(new Position(this.getEchiquier()[i][j].getPosition().getX(),this.getEchiquier()[i][j].getPosition().getY())); return true; } } } } - System.out.println("Un de vos codes est faux. Recommencez."); + System.out.println("Un de vos codes est faux. Recommencez."); // SI COORS INEXISTANTE (EX : A) return false; } public boolean estVide(Position position) { int x = position.getX(); int y = position.getY(); - if(this.echiquier[x][y].getLettre()=="..") { - return true; - } + + if(this.echiquier[x][y].getNom()=="..") { + return true; + } return false; } } diff --git a/src/piecesEchiquier/Piece.java b/src/piecesEchiquier/Piece.java index 3067cbb..b79728c 100755 --- a/src/piecesEchiquier/Piece.java +++ b/src/piecesEchiquier/Piece.java @@ -4,7 +4,8 @@ public class Piece { private String couleur; - private String lettre = ".."; + //private String lettre = ".."; + private String nom = ".."; private boolean enVie = true; private Position position; private Position ini; @@ -27,7 +28,8 @@ public class Piece { public Piece(String couleur,String l, Position pos) { this.couleur = couleur; - this.lettre = l; + //this.lettre = l; + this.nom = l; //this.emplacementIni = emp; this.position = pos; this.ini=pos; @@ -64,14 +66,20 @@ public class Piece { // gets & sets - + /* public String getLettre() { return lettre; } public void setLettre(String lettre) { this.lettre = lettre; } - + */ + public String getNom() { + return nom; + } + public void setNom(String nom) { + this.nom = nom; + } //////////// /* public String getEmplacement() { diff --git a/src/piecesEchiquier/Pion.java b/src/piecesEchiquier/Pion.java index 1d27e41..96b5ebb 100755 --- a/src/piecesEchiquier/Pion.java +++ b/src/piecesEchiquier/Pion.java @@ -14,22 +14,21 @@ public class Pion extends Piece { { 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())) { - //System.out.println("test5"); - if (p.getLettre().equals("..")) + if (p.getNom().equals("..")) { System.out.println("Vous tentez de manger une case vide."); return false; } + System.out.println("Vous avez mangé une pièce !"); return true; } } - // AVancer tout droit + // Avancer tout droit else if (p.getPosition().getX() == this.getPosition().getX()) { @@ -40,11 +39,9 @@ public class Pion extends Piece { 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"); return true; } } - System.out.println("test1"); return false; } diff --git a/src/piecesEchiquier/Tour.java b/src/piecesEchiquier/Tour.java index 8629c05..2d1842c 100755 --- a/src/piecesEchiquier/Tour.java +++ b/src/piecesEchiquier/Tour.java @@ -9,15 +9,21 @@ public class Tour extends Piece { public boolean deplacable(Echiquier e,Piece p) { - + System.out.println("test"); + System.out.println(p.getPosition().getX()); + System.out.println(this.getPosition().getX()); + System.out.println(p.getPosition().getY()); + System.out.println(this.getPosition().getY()); if(p.getPosition().getX() == this.getPosition().getX()) // verification les 2 pieces sont sur la meme colonne { + System.out.println("test1"); 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 + 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()[this.getPosition().getX()][i].getLettre().equals(".."))) // SI case non vide + if (!(e.getEchiquier()[this.getPosition().getX()][i].getNom().equals(".."))) // SI case non vide { + System.out.println("Le chemin n'est pas libre."); return false; } } @@ -26,10 +32,11 @@ public class Tour extends Piece { 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--) + for (int i = this.getPosition().getY()-1; i > p.getPosition().getY()+1;i--) { - if (!(e.getEchiquier()[this.getPosition().getY()][i].getLettre().equals(".."))) // SI case non vide + if (!(e.getEchiquier()[this.getPosition().getX()][i].getNom().equals(".."))) // SI case non vide { + System.out.println("Le chemin n'est pas libre."); return false; } } @@ -40,13 +47,14 @@ public class Tour extends Piece { else if(p.getPosition().getY() == this.getPosition().getY()) // verification les 2 pieces sont sur la meme colonne { + System.out.println("test2"); 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 + for (int i = this.getPosition().getX()+1; i < p.getPosition().getX()-1;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 + if (!(e.getEchiquier()[i][this.getPosition().getY()].getNom().equals(".."))) // SI case non vide { - System.out.println("test"); + System.out.println("Le chemin n'est pas libre."); return false; } } @@ -55,9 +63,9 @@ public class Tour extends Piece { 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 + for (int i = this.getPosition().getX()-1; i > p.getPosition().getX()+1;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 + if (!(e.getEchiquier()[i][this.getPosition().getY()].getNom().equals(".."))) // SI case non vide { return false; } diff --git a/src/visuel/main.java b/src/visuel/main.java index 4c08ca1..f58c9d6 100755 --- a/src/visuel/main.java +++ b/src/visuel/main.java @@ -1,12 +1,12 @@ package visuel; // sert pour recup input clavier -import java.util.Scanner; +import java.util.Scanner; //a voir si on fait une classe 'leScan' pour gerer le scan du clavier plus simplement import joueurs.Joueur; import piecesEchiquier.Echiquier; -public class Main { +public class main { public static void main (String[] args) { @@ -42,33 +42,27 @@ public class Main { do { - - System.out.println("Quelle pi�ce voulez vous d�placer ? Donnez le code correspondant � la pi�ce � d�placer(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(); - System.out.println("A quel endroit la poser ? Donnez le code correspondant � l'endroit o� poser la pi�ce.\n"); + System.out.println("A quel endroit la poser ? Donnez le code correspondant a l'endroit ou poser la piece.\n"); B = sc.nextLine(); - }while (e.VerifFinale(j1, A,B) != true); - - //e.deplacer(A,B); + }while (e.VerifFinale(j1, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées //REAFFICHAGE ECHIQUIER System.out.println(e.toString()); // JOUEUR2 - System.out.println("Tour de"+j2.getNom()+"\n"); + System.out.println("Tour de "+j2.getNom()+"\n"); do { - System.out.println("Quelle pi�ce voulez vous d�placer ? Donnez le code correspondant � la pi�ce � d�placer(ex : A1).\n"); - - //entrer coordonn�es piece a bouger APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE + System.out.println("Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece a  deplacer(ex : A1).\n"); A = sc.nextLine(); - System.out.println("A quel endroit la poser ? Donnez le code correspondant � l'endroit o� poser la pi�ce.\n"); - //entrer coordonn�es endroit vis� APRES ON PASSERA PAR DIRECT COMBINAISON LETTRE-CHIFFRE + System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit la poser la piece.\n"); B = sc.nextLine(); - }while (e.VerifFinale(j2, A,B) != true); + }while (e.VerifFinale(j2, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées //jeu = false;