Correction + commentaires

- ajout de commentaire de déclaration
- ajout d'une boucle pour pouvoir redémarrer une partie
- ajout d'un check pour empêche un joueur de ne pas avoir de noms
- passage des messages d'erreurs de sysout() à syserr()
This commit is contained in:
JunkJumper 2019-05-20 19:09:56 +02:00
parent 09466e9287
commit 30c94b44d7

View File

@ -1,83 +1,93 @@
package visuel; package visuel;
// sert pour recup input clavier // sert pour recup input clavier
import java.util.Scanner; //a voir si on fait une classe 'leScan' pour gerer le scan du clavier plus simplement import java.util.Scanner;
import joueurs.Joueur; import joueurs.Joueur;
import piecesEchiquier.Echiquier; import piecesEchiquier.Echiquier;
public class main { public class main {
static int while1 = 1;
public static void main (String[] args) { public static void main (String[] args) {
//ouvre une porte pour input //ouvre une porte pour input
Scanner sc = new Scanner(System.in); Scanner sc = new Scanner(System.in);
// variable tempo pour tests // variable tempo pour tests
boolean jeu = true; boolean jeu = true;
//déclaration d'une valeur pour la boucle while de configuration
int choixPartie = 1;
// joueurs //déclaration boucle partie
String choixRedem;
// 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);
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);
while(while1 == 1) { if(j1.getNom().equalsIgnoreCase("") || j2.getNom().equalsIgnoreCase("") || j1.getNom().equalsIgnoreCase(null) || j2.getNom().equalsIgnoreCase(null)) {
choixPartie = -1;
}
System.out.println("Choisissez la configuration de partie que vous désirez en tapant le numéro correspondant :"); //déclaration des variables de déplacement
String A; //coordonées de départ
String B; //coordonées d'arrivée
//déclaration de l'échiquier
Echiquier e = new Echiquier();
while (choixPartie >= 1) {
while (choixPartie == 1) {
System.out.println(
"Choisissez la configuration de partie que vous désirez en tapant le numéro correspondant :");
System.out.println("1 = Blanc : " + j1.getNom() + " - Noir : " + j2.getNom()); System.out.println("1 = Blanc : " + j1.getNom() + " - Noir : " + j2.getNom());
System.out.println("2 = Blanc : " + j2.getNom() + " - Noir : " + j1.getNom()); System.out.println("2 = Blanc : " + j2.getNom() + " - Noir : " + j1.getNom());
System.out.println("3 = Aléatoire"); System.out.println("3 = Aléatoire");
String choixP = sc.nextLine(); String choixP = sc.nextLine();
if(choixP.equalsIgnoreCase("3")) if (choixP.equalsIgnoreCase("3")) {
{ int random = (int) (Math.random() * 2 + 1);
int random = (int)(Math.random() * 2 + 1);
System.out.println("L'aléatoire a été effectué, la valeur du choix est = " + random); System.out.println("La configuration " + random + " a été choisie aléatoirement !");
if(random <=1) if (random <= 1) {
{
choixP = "1"; choixP = "1";
} else { } else {
choixP = "2"; choixP = "2";
} }
} }
if(choixP.equalsIgnoreCase("1")) if (choixP.equalsIgnoreCase("1")) {
{
j1.setCouleur("Blanc"); j1.setCouleur("Blanc");
j2.setCouleur("Noir"); j2.setCouleur("Noir");
System.out.println("Le joueur " + j1.getNom() + " jouera les blanc et le joueur " + j2.getNom() + " jouera les noirs."); System.out.println("Le joueur " + j1.getNom() + " jouera les blanc et le joueur " + j2.getNom()
while1 = 2; + " jouera les noirs.");
choixPartie = 2;
} else if(choixP.equalsIgnoreCase("2")) } else if (choixP.equalsIgnoreCase("2")) {
{
j2.setCouleur("Blanc"); j2.setCouleur("Blanc");
j1.setCouleur("Noir"); j1.setCouleur("Noir");
System.out.println("Le joueur " + j2.getNom() + " jouera les blanc et le joueur " + j1.getNom() + " jouera les noirs."); System.out.println("Le joueur " + j2.getNom() + " jouera les blanc et le joueur " + j1.getNom()
while1 = 2; + " jouera les noirs.");
choixPartie = 2;
} else } else {
{
System.err.println("Veuillez rentrer une valeur correcte"); System.err.println("Veuillez rentrer une valeur correcte");
} }
} }
// vars pour deplacer System.out.println("Bienvenue " + j1.getNom() + " et " + j2.getNom()
String A; + " dans e-Chesstria ! Le jeu d'echec équestrien sur console fait entièrement en java !\n");
String B;
System.out.println("Bienvenue dans ce jeu d'echec sur console !\n");
Echiquier e = new Echiquier();
do { do {
// AFFICHAGE ECHIQUIER // AFFICHAGE ECHIQUIER
@ -85,16 +95,17 @@ public class main {
/*JOUEUR1*/ /*JOUEUR1*/
System.out.println("Tour de "+j1.getNom()+"\n"); System.out.println("Tour de " + j1.getNom() + "\n");
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 pièce voulez vous déplacer ? Donnez le code correspondant de la piece à déplacer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
System.out.println("A quel endroit la poser ? Donnez le code correspondant a l'endroit ou poser la piece.\n"); System.out.println(
"À quel endroit la poser ? Donnez le code correspondant à l'endroit ou poser la pièce.\n");
B = sc.nextLine(); B = sc.nextLine();
}while (e.verificationMouvement(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)) /*if (e.getRoiN1().enEchec(e,j2) && e.getRoiN1().enEchecEtMat(e,j2))
{ {
System.out.println("Le joueur 2 est echec et mat, il a perdu !"); System.out.println("Le joueur 2 est echec et mat, il a perdu !");
@ -104,18 +115,19 @@ public class main {
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) 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 à déplacer(ex : A1).\n");
A = sc.nextLine(); A = sc.nextLine();
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit la poser la piece.\n"); System.out.println(
"À quel endroit la poser ? Donnez le code correspondant à l'endroit la poser la pièce.\n");
B = sc.nextLine(); B = sc.nextLine();
}while (e.verificationMouvement(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)) /*if (e.getRoiB1().enEchec(e,j1) && e.getRoiN1().enEchecEtMat(e,j1))
@ -125,7 +137,30 @@ public class main {
}*/ }*/
//jeu = false; //jeu = false;
}while (jeu == true); } while (jeu == true);
System.out.println("Voulez vous redémarrer une nouvelle partie ? (oui / non)");
choixRedem = sc.nextLine();
if(choixRedem.equalsIgnoreCase("oui")) {
jeu = true;
System.out.println("Voulez vous conserver les mêmes paramètres de partie ? (oui / non)");
choixRedem = sc.nextLine();
if(choixRedem.equalsIgnoreCase("oui")) {
choixPartie = 2;
} else if (choixRedem.equalsIgnoreCase("non")) {
choixPartie = 1;
}
} else if(choixRedem.equalsIgnoreCase("non")) {
System.out.println("Merci d'avoir joué à notre jeu d'échec - Team G00D3NOUGHT - CC BY !");
} else {
System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrée lors de la fin du programme.");
}
}
System.err.println("Une erreur s'est produite, les joueurs ont mal saisie des entrée lors du démarrage du programme. (l'un des joueurs a un nom vide par exemple)");
sc.close(); sc.close();
} }