Nous allons aborder les notions les plus importantes de la programmation à travers un jeu.
Le jeu consiste à tirer un nombre aléatoire (généralement entre 0 et 50) puis de le faire deviner au joueur en lui indiquant
si le nombre à deviner est plus grand ou plus petit que celui qu’ils ont donné.
Le but étant bien sûr de deviner le nombre en le moins de coups possible.
Exemple de partie :
J'ai choisi un nombre entre 1 et 50
A vous de le deviner!
Votre proposition : 10
Trop petit
Votre proposition : 26
Trop grand
Votre proposition : 19
Trop grand
Votre proposition : 12
Bravo ! Vous avez trouvé le nombre que j'avais choisi : le 12.
Le code du programme :
Entraînement 1 :
# Devine mon nombre
import random # permet de générer un nombre aléatoire
nombre_inconnu = random.randint(1,50) # générer un nombre aléatoire entre 1 et 50
print("J'ai choisi un nombre entre 1 et 50")
print("A vous de le deviner!")
Ajouter du code qui permet de demander à l'utilisateur d'entrer une proposition
Ajouter au code, un test qui vérifie si le nombre saisi est le bon.
on réalise des instructions conditionnelles, c'est à dire qu'on met en œuvre un contrôle du type Si ... Alors... Sinon. Une aide
Solution
On utilise des instructions conditionnelles, c'est à dire qu'on met en œuvre un contrôle du type Si ... Alors... SinonSi ..... alors ...... SInon .....
Il faut insérer le code précédent à une boucle tant que avec une condition sur la variable proposition.
Masquer
Entraînement 4 :
Ajouter du code pour afficher le nombre de tentative avec la variable « nombre_essais »
Entraînement 5 :
Modifier le code pour pouvoir ajouter un nombre de coup maximum « nb_vies = 5 » pour notre exemple et afficher perdu si le nombre de tentative dépasse 5 pour notre exemple
Entraînement 6 :
Modifier le code pour demander à l’utilisateur s’il veut refaire une partie et relancer la partie si la réponse est « oui »
Entraînement 7 :
Modifier le code pour permettre au joueur de choisir un niveau de difficulté n = 1 , 2 ,3 , .... avec borne_sup = 50 *n
Le code du programme : dépasser le programme !
Entraînement : Niveau confirmé
Amélioration 1 :
Transformer le code afin d'utiliser les fonctions (par exemple : difficulté() ; proposition() ; rejouer()); la fonction jouer() lancera une partie. Amélioration 2 :
L'ordinateur affiche un message d'erreur si l'utilisateur propose un nombre hors de l’intervalle [0, borne_sup*n]. Amélioration 3 :
Adapter le code pour inclure un mode multi-joueurs pour pouvoir jouer à un ou 2 joueurs au choix et déterminer le vainqueur.
Entraînement : Niveau Champion
Amélioration 4 :
Enregistrer les pseudos des joueurs et afficher un classement
Attention : Il faut gérer la gestion d'un fichier texte exterieur.
Amélioration 5 :
Faire deviner un nombre à l’ordinateur.