Hangman est un jeu classique de devinettes de mots amusant et un excellent projet pour les programmeurs débutants.
Dans cet article, nous apprendrons comment créer une version simple du jeu Hangman en Python.
À la fin, vous comprendrez comment utiliser les structures de contrôle, les fonctions et les listes de base de Python pour créer ce jeu.
Le but de Hangman est de deviner un mot secret en suggérant des lettres une à la fois.
Le joueur ne peut faire qu'un nombre limité de suppositions incorrectes avant la fin du jeu.
Pour chaque supposition incorrecte, une partie de la figure du « bourreau » est tirée, et si la figure complète est tirée avant que le mot ne soit deviné, le joueur perd.
Décomposons cela et construisons le jeu étape par étape.
Planifions le jeu et ses principales fonctionnalités :
Le jeu comportera les composants suivants :
Nous utiliserons le module aléatoire pour sélectionner aléatoirement un mot dans une liste.
import random
Ensuite, définissez une liste de mots parmi lesquels le jeu choisira aléatoirement.
Vous pouvez ajouter plus de mots pour rendre le jeu plus intéressant.
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
Nous avons besoin d'une fonction pour choisir au hasard un mot dans notre liste de mots.
def get_random_word(word_list): return random.choice(word_list)
Au fur et à mesure que le joueur devine les lettres, nous devons afficher les lettres correctement devinées et des espaces réservés (_) pour les lettres non devinées.
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
Cette fonction vérifie si toutes les lettres du mot ont été devinées.
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
Pour afficher une figure de bourreau dans un jeu textuel, vous pouvez utiliser l'art ASCII pour représenter les différentes étapes du bourreau.
def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses]
Nous pouvons maintenant constituer la boucle principale du jeu. Cette boucle :
import random # Function to get a random word from the list def get_random_word(word_list): return random.choice(word_list) # Function to display the current state of the word def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip() # Function to check if the word has been guessed def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True # Function to display the hangman figure def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses] # Main function to play the game def play_hangman(): word_list = ['python', 'java', 'hangman', 'programming', 'computer'] word = get_random_word(word_list) guessed_letters = [] attempts = 6 wrong_guesses = 0 print("Welcome to Hangman!") print("Guess the word!") # Main game loop while wrong_guessesExplication
Pour exécuter le jeu, exécutez simplement le script Python, en supposant que vous ayez créé un fichier main.py :
python main.py
Le jeu vous demandera de saisir des lettres et affichera le mot avec les lettres correctement devinées au fur et à mesure de votre progression.
Si vous manquez de tentatives, la partie se termine et vous perdez, comme ceci :
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
Si vous devinez correctement le mot, vous gagnez, comme ceci :
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
Ce jeu simple du Pendu démontre l'utilisation de structures de contrôle, de fonctions, de listes et d'entrées/sorties de base en Python.
Au fur et à mesure que vous construisez ce projet, vous pouvez ajouter des fonctionnalités supplémentaires telles que :
C'est un excellent projet à développer à mesure que vous apprenez des concepts Python plus avancés.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3