Compare commits

...

8 Commits

Author SHA1 Message Date
Vincent Guillet
4ad3390a70 Ajout de la javadoc + update en final des attributs nombreADeviner et tentatives 2025-04-28 18:01:50 +02:00
Vincent Guillet
f8e1d951eb Ajout de la méthode main pour lancer le jeu 2025-04-28 18:01:50 +02:00
Vincent Guillet
e6354d9b48 Ajout de la méthode lancerJeu() avec toute la logique du programme 2025-04-28 18:01:50 +02:00
Vincent Guillet
7ece472154 Ajout du constructeur + attributs MIN et MAX pour la méthode getRandomBetween() 2025-04-28 18:01:50 +02:00
Vincent Guillet
ffb376fede Implémentation de la méthode afficherHistorique() 2025-04-28 18:01:50 +02:00
Vincent Guillet
3c2dc776a8 Implémentation de la méthode getRandomBetween() 2025-04-28 18:01:50 +02:00
Vincent Guillet
3e424a708e Déclaration des attributs principaux 2025-04-28 18:01:50 +02:00
Vincent Guillet
62413d5f9e Création de la classe JeuDevinette 2025-04-28 18:01:50 +02:00

View 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]);
}
}
}