From 4a06d56bfd9e60aa328372a1874b368f890418f4 Mon Sep 17 00:00:00 2001 From: Johann Date: Mon, 27 May 2019 22:41:39 +0200 Subject: [PATCH] Retour ancien main --- src/piecesEchiquier/Echiquier.java | 16 ++--- src/visuel/main.java | 103 +++++++++++++++++++++-------- 2 files changed, 85 insertions(+), 34 deletions(-) diff --git a/src/piecesEchiquier/Echiquier.java b/src/piecesEchiquier/Echiquier.java index d792ec3..63f90bc 100644 --- a/src/piecesEchiquier/Echiquier.java +++ b/src/piecesEchiquier/Echiquier.java @@ -45,14 +45,14 @@ public class Echiquier { //ATTRIBUTS private String[][] codes = //pour définir quel code correspond a quel case { - {"A8","B8","C8","D8","E8","F8","G8","H8"}, - {"A7","B7","C7","D7","E7","F7","G7","H7"}, - {"A6","B6","C6","D6","E6","F6","G6","H6"}, - {"A5","B5","C5","D5","E5","F5","G5","H5"}, - {"A4","B4","C4","D4","E4","F4","G4","H4"}, - {"A3","B3","C3","D3","E3","F3","G3","H3"}, - {"A2","B2","C2","D2","E2","F2","G2","H2"}, - {"A1","B1","C1","D1","E1","F1","G1","H1"} + {"a8","b8","c8","d8","e8","f8","g8","h8"}, + {"a7","b7","c7","d7","e7","f7","g7","h7"}, + {"a6","b6","c6","d6","e6","f6","g6","h6"}, + {"a5","b5","c5","d5","e5","f5","g5","h5"}, + {"a4","b4","c4","d4","e4","f4","g4","h4"}, + {"a3","b3","c3","d3","e3","f3","g3","h3"}, + {"a2","b2","c2","d2","e2","f2","g2","h2"}, + {"a1","b1","c1","d1","e1","f1","g1","h1"} }; //declaration de toutes les pieces de l'echiquier diff --git a/src/visuel/main.java b/src/visuel/main.java index 4371179..4df1393 100755 --- a/src/visuel/main.java +++ b/src/visuel/main.java @@ -27,10 +27,18 @@ public class main { // déclaration des joueurs System.out.println("Entrez le nom du joueur 1 : "); Joueur j1 = new Joueur(sc.nextLine(), null); + if(j1.getNom().isEmpty()) { + j1.setNom("Joueur Par défaut 1"); + } System.out.println("Entrez le nom du joueur 2 : "); Joueur j2 = new Joueur(sc.nextLine(), null); + if(j2.getNom().isEmpty()) { + j2.setNom("Joueur Par défaut 2"); + } + Joueur jTemp = new Joueur(null, null); // ce joueur sert de mémoire pour le choix de l'odre de jeu + if(j1.getNom().equalsIgnoreCase("") || j2.getNom().equalsIgnoreCase("") || j1.getNom().equalsIgnoreCase(null) || j2.getNom().equalsIgnoreCase(null)) { choixPartie = -1; } @@ -39,9 +47,12 @@ public class main { String A; //coordonées de départ String B; //coordonées d'arrivée + char cA = 'y';//pour recup le premier char + char pA = '8';//pour recup le 2e char + String sA;//pour concatener + + //déclaration de l'échiquier - - while (choixPartie >= 1) { Echiquier e = new Echiquier(); while (choixPartie == 1) { @@ -53,6 +64,9 @@ public class main { System.out.println("3 = Aléatoire"); String choixP = sc.nextLine(); + if(choixP.isEmpty()) { + choixP = "3"; + } if (choixP.equalsIgnoreCase("3")) { int random = (int) (Math.random() * 2 + 1); @@ -78,6 +92,18 @@ public class main { j1.setCouleur("Noir"); System.out.println("Le joueur " + j2.getNom() + " jouera les blancs et le joueur " + j1.getNom() + " jouera les noirs."); + /* + * Alors ici on utilise un joueur temporaire pour faire passe le deuxième joueur en joueur numéro 1 + */ + jTemp.setNom(j1.getNom()); + jTemp.setCouleur(j1.getCouleur()); + + j1.setCouleur(j2.getCouleur()); + j1.setNom(j2.getNom()); + + j2.setNom(jTemp.getNom()); + j2.setCouleur(jTemp.getCouleur()); + choixPartie = 2; } else { @@ -86,7 +112,7 @@ public class main { } System.out.println("Bienvenue " + j1.getNom() + " et " + j2.getNom() - + " dans e-Chesstria ! Le jeu d'echec équestrien sur console fait entièrement en java !\n"); + + " dans e-Chesstria ! Le jeu d'echec sur console fait entièrement en java !\n"); do { @@ -95,10 +121,10 @@ public class main { /*JOUEUR1*/ - System.out.println("\n" + "Tour de " + j1.getNom() + " (Blanc)\n"); + System.out.println("\n" + "Tour de " + j1.getNom() + "(" + j1.getCouleur() + ")\n"); //do { - if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true) + if (e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true) { do { @@ -110,28 +136,45 @@ public class main { System.out.println( "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); B = sc.nextLine(); + }while(e.verificationMouvement(j1, A, B) != true ); } + else if (e.getRoiB1().isRoiEchec() == true) { do { - System.out.println( - "Comme votre roi est en echec la piece a bouger est forcement cette derniere. Ou voulez vous la poser ?\n"); - A = e.getCodes()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]; - B = sc.nextLine(); + System.out.println( + "Comme votre roi est en echec la piece a bouger est forcement cette derniere. Ou voulez vous la poser ?\n"); + A = e.getCodes()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]; + B = sc.nextLine(); }while(e.verificationMouvement(j1, A, B) != true && e.getRoiB1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1]) == true); } else { do { - System.out.println( - "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); - A = sc.nextLine(); - System.out.println( - "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); - B = sc.nextLine(); - }while(e.verificationMouvement(j1, A, B) != true ); + System.out.println( + "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); + A = sc.nextLine(); + if(A.isEmpty() || A.length() == 1) { + A = "Z99"; + } + + cA = A.charAt(0);//ici on récupère le premier caractère du String + + pA = A.charAt(1);//ici on récupère le second caratère + char cAl = Character.toLowerCase(cA); //ici on convertis un 'A' en 'a' + sA = "" + cAl + pA; //ici on concatène dans un nouveau string le a transformé avec le chiffre récupéré. + + System.out.println( + "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); + B = sc.nextLine(); + if(B.isEmpty()) { + B = "Z99"; + } + + + }while(e.verificationMouvement(j1, sA, B) != true ); } @@ -150,7 +193,7 @@ public class main { // JOUEUR2 - System.out.println("Tour de " + j2.getNom() + " (Noir)\n"); + System.out.println("Tour de " + j2.getNom() + "(" + j2.getCouleur() + ")\n"); //do { if (e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true) @@ -166,7 +209,7 @@ public class main { B = sc.nextLine(); }while(e.verificationMouvement(j2, A, B) != true ); } - + else if (e.getRoiN1().isRoiEchec()) { do @@ -179,14 +222,22 @@ public class main { } else { do { - System.out.println( - "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); - A = sc.nextLine(); - System.out.println( - "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); - B = sc.nextLine(); - }while(e.verificationMouvement(j2, A, B) != true ); - } + System.out.println( + "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); + A = sc.nextLine(); + + cA = A.charAt(0);//ici on récupère le premier caractère du String + pA = A.charAt(1);//ici on récupère le second caratère + char cAl = Character.toLowerCase(cA); //ici on convertis un 'A' en 'a' + sA = "" + cAl + pA; //ici on concatène dans un nouveau string le a transformé avec le chiffre récupéré. + + System.out.println( + "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); + B = sc.nextLine(); + + + }while(e.verificationMouvement(j2, sA, B) != true ); + } // Tant que le mouvement n'est pas faisable on demande 2 coordonnées // VERIF ECHECMAT