Compare commits
8 Commits
e188bb6c84
...
main
| 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