Hangman es un clásico juego de adivinar palabras que es divertido y un gran proyecto para programadores principiantes.
En este artículo, aprenderemos cómo crear una versión simple del juego Hangman en Python.
Al final, comprenderás cómo utilizar las estructuras de control, funciones y listas básicas de Python para crear este juego.
El objetivo de Hangman es adivinar una palabra secreta sugiriendo letras una a la vez.
El jugador solo puede hacer un número limitado de conjeturas incorrectas antes de que termine el juego.
Por cada suposición incorrecta, se extrae una parte de la figura del "verdugo", y si se extrae la figura completa antes de adivinar la palabra, el jugador pierde.
Analicemos esto y construyamos el juego paso a paso.
Planifiquemos el juego y sus características clave:
El juego tendrá los siguientes componentes:
Usaremos el módulo aleatorio para seleccionar aleatoriamente una palabra de una lista.
import random
A continuación, define una lista de palabras entre las que el juego elegirá aleatoriamente.
Puedes agregar más palabras para hacer el juego más interesante.
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
Necesitamos una función para elegir aleatoriamente una palabra de nuestra lista de palabras.
def get_random_word(word_list): return random.choice(word_list)
A medida que el jugador adivina letras, debemos mostrar las letras adivinadas correctamente y marcadores de posición (_) para las letras no adivinadas.
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
Esta función comprueba si se han adivinado todas las letras de la palabra.
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
Para mostrar una figura del ahorcado en un juego basado en texto, puedes usar arte ASCII para representar las diferentes etapas del ahorcado.
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]
Ahora podemos armar el bucle principal del juego. Este bucle:
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_guessesExplicación
Para ejecutar el juego, simplemente ejecuta el script Python, asumiendo que creaste un archivo main.py:
python main.py
El juego te pedirá que ingreses letras y mostrará la palabra con las letras adivinadas correctamente a medida que avanzas.
Si te quedas sin intentos, el juego termina y pierdes, así:
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
Si adivinas la palabra correctamente, ganas, así:
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
Este sencillo juego del Ahorcado demuestra el uso de estructuras de control, funciones, listas y entradas/salidas básicas en Python.
A medida que creas este proyecto, puedes agregar más funciones como:
Este es un gran proyecto que puedes ampliar a medida que aprendes conceptos más avanzados de Python.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3