Changement main

This commit is contained in:
Johann 2019-05-27 22:03:07 +02:00
parent ae2d2b94bd
commit 3a5dac9857
2 changed files with 34 additions and 85 deletions

View File

@ -45,14 +45,14 @@ public class Echiquier {
//ATTRIBUTS //ATTRIBUTS
private String[][] codes = //pour définir quel code correspond a quel case private String[][] codes = //pour définir quel code correspond a quel case
{ {
{"a8","b8","c8","d8","e8","f8","g8","h8"}, {"A8","B8","C8","D8","E8","F8","G8","H8"},
{"a7","b7","c7","d7","e7","f7","g7","h7"}, {"A7","B7","C7","D7","E7","F7","G7","H7"},
{"a6","b6","c6","d6","e6","f6","g6","h6"}, {"A6","B6","C6","D6","E6","F6","G6","H6"},
{"a5","b5","c5","d5","e5","f5","g5","h5"}, {"A5","B5","C5","D5","E5","F5","G5","H5"},
{"a4","b4","c4","d4","e4","f4","g4","h4"}, {"A4","B4","C4","D4","E4","F4","G4","H4"},
{"a3","b3","c3","d3","e3","f3","g3","h3"}, {"A3","B3","C3","D3","E3","F3","G3","H3"},
{"a2","b2","c2","d2","e2","f2","g2","h2"}, {"A2","B2","C2","D2","E2","F2","G2","H2"},
{"a1","b1","c1","d1","e1","f1","g1","h1"} {"A1","B1","C1","D1","E1","F1","G1","H1"}
}; };
//declaration de toutes les pieces de l'echiquier //declaration de toutes les pieces de l'echiquier

View File

@ -27,18 +27,10 @@ public class main {
// déclaration des joueurs // déclaration des joueurs
System.out.println("Entrez le nom du joueur 1 : "); System.out.println("Entrez le nom du joueur 1 : ");
Joueur j1 = new Joueur(sc.nextLine(), null); 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 : "); System.out.println("Entrez le nom du joueur 2 : ");
Joueur j2 = new Joueur(sc.nextLine(), null); 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)) { if(j1.getNom().equalsIgnoreCase("") || j2.getNom().equalsIgnoreCase("") || j1.getNom().equalsIgnoreCase(null) || j2.getNom().equalsIgnoreCase(null)) {
choixPartie = -1; choixPartie = -1;
} }
@ -47,12 +39,9 @@ public class main {
String A; //coordonées de départ String A; //coordonées de départ
String B; //coordonées d'arrivée 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 //déclaration de l'échiquier
while (choixPartie >= 1) { while (choixPartie >= 1) {
Echiquier e = new Echiquier(); Echiquier e = new Echiquier();
while (choixPartie == 1) { while (choixPartie == 1) {
@ -64,9 +53,6 @@ public class main {
System.out.println("3 = Aléatoire"); System.out.println("3 = Aléatoire");
String choixP = sc.nextLine(); String choixP = sc.nextLine();
if(choixP.isEmpty()) {
choixP = "3";
}
if (choixP.equalsIgnoreCase("3")) { if (choixP.equalsIgnoreCase("3")) {
int random = (int) (Math.random() * 2 + 1); int random = (int) (Math.random() * 2 + 1);
@ -92,18 +78,6 @@ public class main {
j1.setCouleur("Noir"); j1.setCouleur("Noir");
System.out.println("Le joueur " + j2.getNom() + " jouera les blancs et le joueur " + j1.getNom() System.out.println("Le joueur " + j2.getNom() + " jouera les blancs et le joueur " + j1.getNom()
+ " jouera les noirs."); + " 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; choixPartie = 2;
} else { } else {
@ -112,7 +86,7 @@ public class main {
} }
System.out.println("Bienvenue " + j1.getNom() + " et " + j2.getNom() System.out.println("Bienvenue " + j1.getNom() + " et " + j2.getNom()
+ " dans e-Chesstria ! Le jeu d'echec sur console fait entièrement en java !\n"); + " dans e-Chesstria ! Le jeu d'echec équestrien sur console fait entièrement en java !\n");
do { do {
@ -121,10 +95,10 @@ public class main {
/*JOUEUR1*/ /*JOUEUR1*/
System.out.println("\n" + "Tour de " + j1.getNom() + "(" + j1.getCouleur() + ")\n"); System.out.println("\n" + "Tour de " + j1.getNom() + " (Blanc)\n");
//do { //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 do
{ {
@ -136,45 +110,28 @@ public class main {
System.out.println( System.out.println(
"À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n"); "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n");
B = sc.nextLine(); B = sc.nextLine();
}while(e.verificationMouvement(j1, A, B) != true ); }while(e.verificationMouvement(j1, A, B) != true );
} }
else if (e.getRoiB1().isRoiEchec() == true) else if (e.getRoiB1().isRoiEchec() == true)
{ {
do do
{ {
System.out.println( System.out.println(
"Comme votre roi est en echec la piece a bouger est forcement cette derniere. Ou voulez vous la poser ?\n"); "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]; A = e.getCodes()[8-e.getRoiB1().getPosition().getY()][e.getRoiB1().getPosition().getX()-1];
B = sc.nextLine(); 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); }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 { else {
do { do {
System.out.println( System.out.println(
"Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
if(A.isEmpty() || A.length() == 1) { System.out.println(
A = "Z99"; "À 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 );
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 );
} }
@ -193,7 +150,7 @@ public class main {
// JOUEUR2 // JOUEUR2
System.out.println("Tour de " + j2.getNom() + "(" + j2.getCouleur() + ")\n"); System.out.println("Tour de " + j2.getNom() + " (Noir)\n");
//do { //do {
if (e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true) if (e.getRoiN1().enEchecEtMat(e,e.getEchiquier()[8-e.getRoiN1().getPosition().getY()][e.getRoiN1().getPosition().getX()-1]) == true)
@ -209,7 +166,7 @@ public class main {
B = sc.nextLine(); B = sc.nextLine();
}while(e.verificationMouvement(j2, A, B) != true ); }while(e.verificationMouvement(j2, A, B) != true );
} }
else if (e.getRoiN1().isRoiEchec()) else if (e.getRoiN1().isRoiEchec())
{ {
do do
@ -222,22 +179,14 @@ public class main {
} }
else { else {
do { do {
System.out.println( System.out.println(
"Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n"); "Quelle pièce voulez-vous déplacer ? Donnez le code correspondant de la pièce à déplacer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
System.out.println(
cA = A.charAt(0);//ici on récupère le premier caractère du String "À quel endroit la poser ? Donnez le code correspondant à l'endroit où poser la pièce.\n");
pA = A.charAt(1);//ici on récupère le second caratère B = sc.nextLine();
char cAl = Character.toLowerCase(cA); //ici on convertis un 'A' en 'a' }while(e.verificationMouvement(j2, A, B) != true );
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 // VERIF ECHECMAT