Accueil Technologie

Comment créer un jeu de devinettes en Python ?

Créer des jeux en Python est un excellent moyen d’apprendre les concepts de base de la programmation, et de construire une base plus solide en programmation. L’un des jeux que vous pouvez créer est un simple jeu de devinettes sur les nombres.


Vous pouvez créer le jeu de devinette des nombres à l’aide d’un seul script Python. Pour jouer au jeu, exécutez le script en utilisant une ligne de commande ou un terminal.

Pour rendre le jeu plus intéressant, vous pouvez ajouter des concepts de jeu supplémentaires. Cela inclut la possibilité de donner des indices au joueur, ou la possibilité de modifier la difficulté du jeu.

Comment générer un nombre aléatoire

Vous pouvez commencer par créer un nouveau script Python avec une balise .py pour contenir la logique du jeu. À l’intérieur, ajoutez du code de départ pour générer un nombre aléatoire entre 1 et 50 que le joueur devra deviner.

Si vous n’êtes pas familier avec la syntaxe Python, jetez un coup d’œil à quelques exemples Python de base pour vous mettre à niveau.

  1. Créez un nouveau fichier appelé number-guessing-game.py. Ouvrez le fichier à l’aide de n’importe quel éditeur de texte, tel que Visual Studio ou Atom.
  2. En haut du fichier, importez l’élément aléatoire module :
     import random 
  3. Utilisez l’option aléatoire module’s randint() pour générer un nombre aléatoire compris entre 1 et 50 :
     guess_range = 50
    answer = random.randint(1, guess_range)
  4. Lancez le jeu, et demandez au joueur de deviner le nombre :
     print("Welcome to the number guessing game!")
    print("")
    userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
    guess = int(userInput)

Comment vérifier si l’utilisateur a deviné le bon numéro ?

Pour que l’utilisateur gagne le jeu, il faut comparer la saisie de l’utilisateur au nombre aléatoire généré et vérifier s’il correspond.

  1. Si l’utilisateur n’a pas encore trouvé la bonne réponse, demandez-lui à nouveau de saisir une nouvelle entrée. Veillez à indenter tout code imbriqué, car la structure de Python dépend d’une indentation correcte :
     guess = ""
    while guess != answer:
      userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
      guess = int(userInput)
  2. Si le code s’exécute après la boucle while, cela signifie que l’utilisateur a trouvé la bonne réponse :
     print("Congratulations! You guessed the correct number. You win!")  

Comment ajouter un nombre limité de suppositions

Pour empêcher le joueur de poser une quantité infinie de questions, vous pouvez limiter le nombre de ses réponses.

  1. Déclarez une nouvelle variable au début du fichier, pour garder la trace du nombre de suppositions autorisées pour le joueur. Fixez-la à 10, pour commencer :
     guesses_allowed = 10 
  2. Changez l’instruction while en une boucle for, qui ne se répète que pour le nombre limité de suppositions :
     for i in range(guesses_allowed):
      userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
      guess = int(userInput)
  3. A l’intérieur de la boucle for, si l’une des réponses est la bonne, sortez de la boucle for :
     if guess == answer:
      print("Congratulations! You guessed the correct number. You win!")
      break
  4. Toujours dans la boucle for, ajoutez une autre instruction if pour vérifier si le joueur a atteint son nombre limite de réponses. Si c’est le cas, terminez le jeu :
     if (i == guesses_allowed - 1):
      print("Sorry, you have run out of guesses. You lose!")

Comment ajouter des indices au jeu

Ajoutez une autre fonctionnalité au jeu pour donner des indices au joueur. Il peut s’agir de lui faire savoir s’il doit deviner un chiffre plus élevé ou plus bas.

Une autre astuce consiste à leur dire à quel point ils sont proches ou éloignés de la réponse. Par exemple, le jeu devrait les informer s’ils sont en train de « se réchauffer ». Sinon, s’ils sont loin du chiffre, le jeu devrait leur dire qu’ils se « refroidissent ».

  1. Modifiez l’instruction if qui indique à l’utilisateur s’il a gagné. S’il n’a toujours pas trouvé la bonne réponse, il doit savoir si la réponse réelle est supérieure ou inférieure.
     if guess == answer:
      print("Congratulations! You guessed the correct number. You win!")
      break
    elif guess < answer:
      print("The number is higher.")
    else:
      print("The number is lower.")
  2. Ajouter une autre instruction if pour ajouter des indices supplémentaires. Cela leur permettra de savoir s’ils se rapprochent du nombre ou s’ils le « réchauffent ». Utilisez la fonction absolue pour déterminer la distance entre l’estimation et la réponse. Par exemple, s’ils sont à moins de 10 chiffres de la réponse, le jeu affichera « Vous êtes chaud » :
     if abs(guess - answer) <= 10:
      print("You're warm!")
    elif abs(guess - answer) <= 20:
      print("You're getting warmer.")
    elif abs(guess - answer) <= 30:
      print("You're cold.")
    else:
      print("You're freezing.")

Comment modifier la difficulté du jeu

Vous pouvez demander à l’utilisateur de choisir un niveau de difficulté. Le niveau de difficulté détermine le nombre de tentatives de devinettes dont dispose le joueur, ainsi que l’étendue de la plage de devinettes.

  1. Au début du jeu, demandez à l’utilisateur de choisir un niveau de difficulté :
     print("Welcome to the number guessing game!")
    print("")
    while True:
      level = input("Select difficulty level (easy, medium, hard): ").lower()
  2. Ajoutez une validation pour vous assurer que le joueur ne tape que les options « facile », « moyen » ou « difficile ». Si l’utilisateur entre une réponse invalide, le jeu lui demandera de saisir à nouveau un niveau de difficulté.
     if level in ["easy", "medium", "hard"]:
      break
    else:
      print("Invalid input. Please select either 'easy"https://www.makeuseof.com/number-guessing-game-using-python/,"medium', or 'hard'.")
  3. Avant de générer le nombre aléatoire, utilisez la difficulté du joueur pour déterminer le nombre de suppositions qu’il peut avoir. Vous pouvez également utiliser le niveau de difficulté qu’il a choisi pour déterminer l’étendue de l’éventail des réponses possibles :
     if level == "easy":
      guess_range = 50
      guesses_allowed = 20
    elif level == "medium":
      guess_range = 100
      guesses_allowed = 15
    else:
      guess_range = 150
      guesses_allowed = 10

    answer = random.randint(1, guess_range)

Comment jouer au jeu

Maintenant que vous avez toute la logique du jeu, vous pouvez y jouer dans une invite de commande. Vous pouvez également consulter l’exemple complet du jeu de devinette sur GitHub.

  1. Ouvrez une invite de commande ou un terminal, et naviguez jusqu’au dossier où vous avez stocké votre script Python. Par exemple, si vous avez stocké votre script sur le Bureau, la commande ressemblerait à ceci :
     cd C:\Users\Sharl\Desktop 
  2. Utilisez l’option python pour exécuter votre script Python :
     python number-guessing-game.py 
  3. Entrez un niveau de difficulté.
    Jeu de devinette de nombres en Python dans le terminal
  4. Entrez des chiffres dans l’invite de commande pour essayer de deviner le nombre.
    Jeu de devinette de nombres en Python en mode terminal

Apprendre la programmation en créant des jeux simples

Vous savez maintenant comment créer et exécuter un jeu simple à l’aide d’un seul script Python. Poursuivez votre apprentissage en explorant d’autres idées de projets intéressants. Par exemple, essayez de construire un balayeur Ping en Python.

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Newsletter

inscrivez vous pour recevoir nos actualités

Actualités, astuces, bons plans et cadeaux !