Projet – Jeu de devinette de nombre
Contexte
Section intitulée « Contexte »Le programme choisit un nombre aléatoire entre 1 et 100. L’utilisateur doit le deviner, avec des indices « trop grand » ou « trop petit ». Le jeu continue jusqu’à ce que l’utilisateur trouve le nombre.
Ce projet combine :
- Génération aléatoire (
math/rand) - Boucles (
for) - Conditionnelles (
if/else) - Entrée utilisateur (
fmt.Scan)
Code pas à pas
Section intitulée « Code pas à pas »package main
import ( "fmt" "math/rand" "time")
func main() { // Initialisation du générateur (depuis Go 1.20, automatique, mais on garde pour l'exemple) rand.NewSource(time.Now().UnixNano()) secret := rand.Intn(100) + 1 // nombre entre 1 et 100 var tentative int essais := 0
fmt.Println("Devinez le nombre entre 1 et 100 !")
for { fmt.Print("Votre proposition : ") _, err := fmt.Scan(&tentative) if err != nil { fmt.Println("Entrée invalide.") continue } essais++
if tentative < secret { fmt.Println("Trop petit !") } else if tentative > secret { fmt.Println("Trop grand !") } else { fmt.Printf("Bravo ! Vous avez trouvé %d en %d essais.\n", secret, essais) break } }}Exemple d’interaction
Section intitulée « Exemple d’interaction »Devinez le nombre entre 1 et 100 !Votre proposition : 50Trop petit !Votre proposition : 75Trop grand !Votre proposition : 62Trop petit !Votre proposition : 68Bravo ! Vous avez trouvé 68 en 4 essais.Extensions possibles
Section intitulée « Extensions possibles »- Limiter le nombre d’essais.
- Ajouter la possibilité de rejouer.
- Gérer les entrées non numériques.