====== Problème 2 ======
Réaliser un jeu de devinettes en python.
Le but est de deviner un nombre choisi aléatoirement par l'ordinateur, en un nombre d’essais défini dans le code.
Le joueur à droit à 4 ou 8 tentatives selon la difficulté choisie.
Vous devez réaliser le programme entier par vous même, sans poser de questions à l'enseignant, afin de vous
préparer aux conditions d'examen.
Vous disposez de l'accès à internet et de toutes les documentations qui s'y trouvent.
===== Déroulement du jeu =====
Voici le déroulement d'une partie :
- L'ordinateur demande au joueur de saisir son nom.
- l'ordinateur demande au joueur de choisir une difficulté (facile ou difficile)
- l'ordinateur choisit un nombre entre 0 et N_MAX (N_MAX est une valeur que vous définirez dans le code de votre programme)
- L'ordinateur demande au joueur de saisir une valeur (en utilisant son nom)
- L'ordinateur indique au joueur si la valeur saisie est plus grande ou plus petite que le nombre à deviner, ou si le nombre mystère à été trouvé.
- Si le nombre mystère n'a pas été trouvé par le joueur, on recommence à l'étape 3.
Si le joueur dépasse le nombre de tentatives, un message indiquant que le joueur à perdu est affiché.
Si en revanche le joueur trouve la valeur avant le nombre maximum d'essais autorisés, un message de victoire est affiché.
===== Indications =====
==== Nombres aléatoires ====
Pour générer un nombre aléatoire compris entre 0 et 100 (par exemple) en python, une méthode est de faire:
nombre_mystere = random.randint(0, 100)
Pour que celà fonctionne, il ne faut pas oublier d'importer le module random au début du code :
import random
**Liens**
* [[https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/234357-un-peu-de-mathematiques#/id/r-234356|Un peu de documentation sur les nombres aléatoires en python3 (fr)]]
* [[https://docs.python.org/fr/3/library/random.html|Documentation officielle du module random]]
==== Saisie des valeurs par le joueur ====
Vous devez vous assurer que le joueur saisisse des valeurs comprises entre 0 et N_MAX. Si la valeur saisie n'est pas dans l'intervalle, un message d'erreur est affiché, et on redemande la saisie.
Cette mauvaise saisie ne doit pas coûter un essai au joueur (s'il avait 3 tentatives restantes, et qu'il tape une valeur incorrecte, il doit toujours avoir 3 tentatives jusqu'à ce qu'il saisisse une valeur correcte).
==== Utilisation de fonctions ====
Votre code doit être divisé en sous-fonctions, avec par notamment:
* une fonction qui gère la saisie du nombre par le joueur, et qui s'assure que la valeur saisie est dans l'intervalle défini;
* une fonction qui demande le nom du joueur
* une fonction qui permet de saisir la difficulté, et qui s'assure que le joueur saisisse une valeur autorisée
* toute autre fonction qui vous semble nécessaire.
==== Saisie de la difficulté ====
La difficulté peut prendre deux valeurs : facile ou difficile.
Pour cela le plus simple est de demander au joueur de saisir 1 pour facile, 2 pour difficile.
vous devez vous assurer que le joueur saisisse bien 1 ou 2!
Une fois une valeur valide saisie, le nombre maximum d'essais sera défini dans une variable **max_essais** qui sera utilisée dans la suite du programme
==== Structure du code ====
Le programme devra être structuré correctement, avec une fonction main et des commentaires comme nous l'avons vu dans les précédents TP.