Outils pour utilisateurs

Outils du site


Panneau latéral

Navigation

Plan auto

programmation:python:prob2

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 :

  1. L'ordinateur demande au joueur de saisir son nom.
  2. l'ordinateur demande au joueur de choisir une difficulté (facile ou difficile)
  3. 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)
  4. L'ordinateur demande au joueur de saisir une valeur (en utilisant son nom)
  5. 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é.
  6. 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

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.

programmation/python/prob2.txt · Dernière modification: 05/11/2018 05:09 par sky99