Compare commits
8 Commits
e188bb6c84
...
4ad3390a70
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4ad3390a70 | ||
|
|
f8e1d951eb | ||
|
|
e6354d9b48 | ||
|
|
7ece472154 | ||
|
|
ffb376fede | ||
|
|
3c2dc776a8 | ||
|
|
3e424a708e | ||
|
|
62413d5f9e |
92
com/humanbooster/exercices/JeuDevinette.java
Normal file
92
com/humanbooster/exercices/JeuDevinette.java
Normal file
@@ -0,0 +1,92 @@
|
||||
package com.humanbooster.exercices;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Classe JeuDevinette
|
||||
* Ce jeu consiste à deviner un nombre aléatoire entre 1 et 100.
|
||||
* L'utilisateur a 10 tentatives pour deviner le nombre.
|
||||
* Après chaque tentative, le programme indique si le nombre à deviner est plus grand ou plus petit.
|
||||
*/
|
||||
public class JeuDevinette {
|
||||
|
||||
private final int nombreADeviner;
|
||||
private int nombreDeTentatives;
|
||||
private final int[] tentatives;
|
||||
private final int MAX_TENTATIVES = 10;
|
||||
|
||||
private final int MIN = 1;
|
||||
private final int MAX = 100;
|
||||
|
||||
/**
|
||||
* Constructeur de la classe JeuDevinette
|
||||
* Initialise le nombre à deviner, le nombre de tentatives et le tableau de tentatives
|
||||
*/
|
||||
public JeuDevinette() {
|
||||
this.nombreADeviner = getRandomBetween(MIN, MAX);
|
||||
this.nombreDeTentatives = 0;
|
||||
this.tentatives = new int[MAX_TENTATIVES];
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode principale pour lancer le jeu
|
||||
* @param args arguments de la ligne de commande
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
JeuDevinette jeu = new JeuDevinette();
|
||||
jeu.lancerJeu();
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour lancer le jeu
|
||||
* Demande à l'utilisateur de deviner le nombre et lui donne des indices
|
||||
*/
|
||||
public void lancerJeu() {
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
System.out.println("Bienvenue dans le jeu de devinettes !");
|
||||
System.out.println("Devinez le nombre entre " + MIN + " et " + MAX +". Vous avez " + MAX_TENTATIVES + " tentatives.");
|
||||
|
||||
while (nombreDeTentatives < MAX_TENTATIVES) {
|
||||
System.out.print("Tentative " + (nombreDeTentatives + 1) + " : ");
|
||||
int proposition = scanner.nextInt();
|
||||
tentatives[nombreDeTentatives] = proposition;
|
||||
nombreDeTentatives++;
|
||||
|
||||
if (proposition == nombreADeviner) {
|
||||
System.out.println("Bravo ! Vous avez deviné le nombre en " + nombreDeTentatives + " tentatives.");
|
||||
break;
|
||||
} else if (proposition < nombreADeviner) {
|
||||
System.out.println("C'est plus grand !");
|
||||
} else {
|
||||
System.out.println("C'est plus petit");
|
||||
}
|
||||
|
||||
if (nombreDeTentatives == MAX_TENTATIVES) {
|
||||
System.out.println("Désolé, vous avez atteint le nombre maximum de tentatives.");
|
||||
System.out.println("Le nombre était : " + nombreADeviner);
|
||||
}
|
||||
}
|
||||
|
||||
afficherHistorique();
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour générer un nombre aléatoire entre min et max
|
||||
* @param min valeur minimale
|
||||
* @param max valeur maximale
|
||||
* @return un nombre aléatoire entre min et max
|
||||
*/
|
||||
private int getRandomBetween(int min, int max) {
|
||||
return (int)(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour afficher l'historique des tentatives
|
||||
*/
|
||||
private void afficherHistorique() {
|
||||
System.out.println("\nHistorique des tentatives :");
|
||||
for (int i = 0; i < nombreDeTentatives; i++) {
|
||||
System.out.println("Tentative " + (i + 1) + " : " + tentatives[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user