private static int choixDeLaClasse()
{
// *DEBUT* CHOIX DE LA CLASSE
int choixClasse = 0;
// MARQUE UNE PAUSE
try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}
System.out.println("------------------------------------------------------------------------------------------------------------------------");
System.out.println("------------------------------------------------- CHOIX DE VOTRE CLASSE ------------------------------------------------");
System.out.println("------------------------------------------------------------------------------------------------------------------------");
// MARQUE UNE PAUSE
try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}
System.out.println("Veuillez choisir la classe avec laquelle vous souhaitez combattre : ");
System.out.println();
// MARQUE UNE PAUSE
try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}
System.out.println(" 1 - Le Mage");
System.out.println(" 2 - Le Guerrier");
System.out.println();
while(choixClasse < 1 || choixClasse > 2) // GERE LES CLASSES MAGE ET GUERRIER UNIQUEMENT
{
System.out.print(" CHOIX : ");
Scanner choix_personnage = new Scanner(System.in);
choixClasse = choix_personnage.nextInt();
}
return choixClasse;
// *FIN* CHOIX DE LA CLASSE
}
Maintenant que je poste cette question je me rend compte que je devrais faire le test dans la méthode appelée au lieu de le faire dans le Main comme je le fais pour ne réafficher que "Choix :" en boucle et non pas tout le reste.
Je modifierais.
Mais la méthode bricolage que j'ai fait est-elle bonne ou y a t'il une méthode très simple pour gérer ça ?
Par contre tu aurais une idée pour les vérifications ? C'était ça mon problème principal.
Je vérifie une exception et je la boucle. Tu aurais un truc plus clair ?
KX
Messages postés16736Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mai 2024127 15 mai 2015 à 10:07
La boucle est une bonne idée, c'est le test avec verifChoixClasse et la deuxième boucle qui font bidouille mais je les ai enlevé pour les remplacer par un while (true) qui est interrompu par le if quand le résultat correct est renvoyé.