Hangman — это классическая игра в угадывание слов, которая доставляет удовольствие и является отличным проектом для начинающих программистов.
В этой статье мы узнаем, как создать простую версию игры «Палач» на Python.
К концу вы поймете, как использовать базовые структуры управления, функции и списки Python для создания этой игры.
Цель игры Hangman — угадать секретное слово, предлагая буквы по одной.
Игрок может сделать только ограниченное количество неправильных предположений до окончания игры.
За каждое неправильное предположение вытягивается часть фигурки «палача», и если полная фигура вытягивается до того, как слово будет отгадано, игрок проигрывает.
Давайте разберемся и построим игру шаг за шагом.
Давайте спланируем игру и ее ключевые особенности:
Игра будет состоять из следующих компонентов:
Мы будем использовать модуль случайных чисел, чтобы случайным образом выбирать слово из списка.
import random
Далее определите список слов, из которых игра будет выбирать случайным образом.
Вы можете добавить больше слов, чтобы сделать игру более интересной.
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
Нам нужна функция для случайного выбора слова из нашего списка слов.
def get_random_word(word_list): return random.choice(word_list)
Пока игрок угадывает буквы, нам нужно показывать правильно угаданные буквы и заполнители (_) для неугаданных букв.
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
Эта функция проверяет, все ли буквы слова угаданы.
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
Чтобы отобразить фигуру палача в текстовой игре, вы можете использовать ASCII-изображение для представления различных стадий палача.
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]
Теперь мы можем собрать основной цикл игры. Этот цикл будет:
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_guessesОбъяснение
Чтобы запустить игру, просто выполните скрипт Python, предполагая, что вы создали файл main.py:
python main.py
Игра предложит вам ввести буквы и по мере вашего продвижения будет отображать слово с правильно угаданными буквами.
Если у вас закончатся попытки, игра закончится, и вы проиграете, например:
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
Если вы правильно угадаете слово, вы выиграете, например:
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
Эта простая игра Hangman демонстрирует использование управляющих структур, функций, списков и базового ввода/вывода в Python.
По мере создания этого проекта вы можете добавлять дополнительные функции, такие как:
Это отличный проект, который можно развивать по мере изучения более продвинутых концепций Python.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3