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:
parent
09466e9287
commit
30c94b44d7
@ -1,131 +1,166 @@
|
|||||||
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 :");
|
|
||||||
System.out.println("1 = Blanc : " + j1.getNom() + " - Noir : " + j2.getNom());
|
|
||||||
System.out.println("2 = Blanc : " + j2.getNom() + " - Noir : " + j1.getNom());
|
|
||||||
System.out.println("3 = Aléatoire");
|
|
||||||
|
|
||||||
String choixP = sc.nextLine();
|
|
||||||
|
|
||||||
if(choixP.equalsIgnoreCase("3"))
|
|
||||||
{
|
|
||||||
int random = (int)(Math.random() * 2 + 1);
|
|
||||||
|
|
||||||
System.out.println("L'aléatoire a été effectué, la valeur du choix est = " + random);
|
|
||||||
|
|
||||||
if(random <=1)
|
|
||||||
{
|
|
||||||
choixP = "1";
|
|
||||||
} else {
|
|
||||||
choixP = "2";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(choixP.equalsIgnoreCase("1"))
|
//déclaration des variables de déplacement
|
||||||
{
|
String A; //coordonées de départ
|
||||||
j1.setCouleur("Blanc");
|
String B; //coordonées d'arrivée
|
||||||
j2.setCouleur("Noir");
|
|
||||||
System.out.println("Le joueur " + j1.getNom() + " jouera les blanc et le joueur " + j2.getNom() + " jouera les noirs.");
|
|
||||||
while1 = 2;
|
|
||||||
|
|
||||||
} else if(choixP.equalsIgnoreCase("2"))
|
|
||||||
{
|
|
||||||
j2.setCouleur("Blanc");
|
|
||||||
j1.setCouleur("Noir");
|
|
||||||
System.out.println("Le joueur " + j2.getNom() + " jouera les blanc et le joueur " + j1.getNom() + " jouera les noirs.");
|
|
||||||
while1 = 2;
|
|
||||||
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
System.err.println("Veuillez rentrer une valeur correcte");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// vars pour deplacer
|
|
||||||
String A;
|
|
||||||
String B;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
System.out.println("Bienvenue dans ce jeu d'echec sur console !\n");
|
|
||||||
|
|
||||||
|
//déclaration de l'échiquier
|
||||||
Echiquier e = new Echiquier();
|
Echiquier e = new Echiquier();
|
||||||
do {
|
|
||||||
|
|
||||||
// AFFICHAGE ECHIQUIER
|
while (choixPartie >= 1) {
|
||||||
System.out.println(e.toString());
|
|
||||||
|
|
||||||
/*JOUEUR1*/
|
while (choixPartie == 1) {
|
||||||
|
|
||||||
System.out.println("Tour de "+j1.getNom()+"\n");
|
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("2 = Blanc : " + j2.getNom() + " - Noir : " + j1.getNom());
|
||||||
|
System.out.println("3 = Aléatoire");
|
||||||
|
|
||||||
|
String choixP = sc.nextLine();
|
||||||
|
|
||||||
do {
|
if (choixP.equalsIgnoreCase("3")) {
|
||||||
System.out.println("Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece a deplacer(ex : A1).\n");
|
int random = (int) (Math.random() * 2 + 1);
|
||||||
A = sc.nextLine();
|
|
||||||
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.verificationMouvement(j1, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
System.out.println("La configuration " + random + " a été choisie aléatoirement !");
|
||||||
/*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
|
|
||||||
System.out.println(e.toString());
|
|
||||||
|
|
||||||
// JOUEUR2
|
if (random <= 1) {
|
||||||
System.out.println("Tour de "+j2.getNom()+"\n");
|
choixP = "1";
|
||||||
|
} else {
|
||||||
|
choixP = "2";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (jeu == true)
|
if (choixP.equalsIgnoreCase("1")) {
|
||||||
{
|
j1.setCouleur("Blanc");
|
||||||
do {
|
j2.setCouleur("Noir");
|
||||||
System.out.println("Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece a deplacer(ex : A1).\n");
|
System.out.println("Le joueur " + j1.getNom() + " jouera les blanc et le joueur " + j2.getNom()
|
||||||
A = sc.nextLine();
|
+ " jouera les noirs.");
|
||||||
|
choixPartie = 2;
|
||||||
|
|
||||||
System.out.println("A quel endroit la poser ? Donnez le code correspondant de l'endroit la poser la piece.\n");
|
} else if (choixP.equalsIgnoreCase("2")) {
|
||||||
B = sc.nextLine();
|
j2.setCouleur("Blanc");
|
||||||
|
j1.setCouleur("Noir");
|
||||||
|
System.out.println("Le joueur " + j2.getNom() + " jouera les blanc et le joueur " + j1.getNom()
|
||||||
|
+ " jouera les noirs.");
|
||||||
|
choixPartie = 2;
|
||||||
|
|
||||||
}while (e.verificationMouvement(j2, A,B) != true); // Tant que le mouvement n'est pas faisable on demande 2 coordonnées
|
} else {
|
||||||
|
System.err.println("Veuillez rentrer une valeur correcte");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (e.getRoiB1().enEchec(e,j1) && e.getRoiN1().enEchecEtMat(e,j1))
|
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");
|
||||||
System.out.println("Le joueur 1 est echec et mat, il a perdu !");
|
|
||||||
jeu = false;
|
|
||||||
}*/
|
|
||||||
//jeu = false;
|
|
||||||
|
|
||||||
}while (jeu == true);
|
do {
|
||||||
|
|
||||||
|
// AFFICHAGE ECHIQUIER
|
||||||
|
System.out.println(e.toString());
|
||||||
|
|
||||||
|
/*JOUEUR1*/
|
||||||
|
|
||||||
|
System.out.println("Tour de " + j1.getNom() + "\n");
|
||||||
|
|
||||||
|
do {
|
||||||
|
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();
|
||||||
|
System.out.println(
|
||||||
|
"À quel endroit la poser ? Donnez le code correspondant à l'endroit ou poser la pièce.\n");
|
||||||
|
B = sc.nextLine();
|
||||||
|
|
||||||
|
} 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
|
||||||
|
System.out.println(e.toString());
|
||||||
|
|
||||||
|
// JOUEUR2
|
||||||
|
System.out.println("Tour de " + j2.getNom() + "\n");
|
||||||
|
|
||||||
|
if (jeu == true) {
|
||||||
|
do {
|
||||||
|
System.out.println(
|
||||||
|
"Quelle piece voulez vous deplacer ? Donnez le code correspondant de la piece à déplacer(ex : A1).\n");
|
||||||
|
A = sc.nextLine();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"À quel endroit la poser ? Donnez le code correspondant à l'endroit la poser la pièce.\n");
|
||||||
|
B = sc.nextLine();
|
||||||
|
|
||||||
|
} 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;
|
||||||
|
|
||||||
|
} 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user