Hangman é um clássico jogo de adivinhação de palavras divertido e um ótimo projeto para programadores iniciantes.
Neste artigo, aprenderemos como construir uma versão simples do jogo Hangman em Python.
Ao final, você entenderá como usar as estruturas de controle, funções e listas básicas do Python para criar este jogo.
O objetivo do Hangman é adivinhar uma palavra secreta sugerindo letras, uma de cada vez.
O jogador pode fazer apenas um número limitado de suposições incorretas antes do jogo terminar.
Para cada palpite incorreto, uma parte da figura do "carrasco" é sorteada, e se a figura inteira for sorteada antes da palavra ser adivinhada, o jogador perde.
Vamos analisar isso e construir o jogo passo a passo.
Vamos planejar o jogo e seus principais recursos:
O jogo terá os seguintes componentes:
Usaremos o módulo aleatório para selecionar aleatoriamente uma palavra de uma lista.
import random
Em seguida, defina uma lista de palavras que o jogo escolherá aleatoriamente.
Você pode adicionar mais palavras para tornar o jogo mais interessante.
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
Precisamos de uma função para escolher aleatoriamente uma palavra de nossa lista de palavras.
def get_random_word(word_list): return random.choice(word_list)
À medida que o jogador adivinha as letras, precisamos mostrar as letras adivinhadas corretamente e os espaços reservados (_) para as letras não adivinhadas.
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
Esta função verifica se todas as letras da palavra foram adivinhadas.
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
Para exibir uma figura do carrasco em um jogo baseado em texto, você pode usar arte ASCII para representar os diferentes estágios do carrasco.
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]
Agora podemos montar o loop principal do jogo. Este loop irá:
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_guessesExplicação
Para rodar o jogo, basta executar o script Python, supondo que você criou um arquivo main.py:
python main.py
O jogo solicitará que você insira letras e exibirá a palavra com as letras adivinhadas corretamente conforme você avança.
Se você ficar sem tentativas, o jogo termina e você perde, assim:
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
Se você acertar a palavra, você ganha, assim:
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
Este jogo Hangman simples demonstra o uso de estruturas de controle, funções, listas e entrada/saída básica em Python.
À medida que você cria este projeto, você pode adicionar mais recursos, como:
Este é um ótimo projeto para expandir à medida que você aprende conceitos mais avançados de Python.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3