Игра виселица

Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python

Создано: 13.02.2025 17:53

Игра виселица

Вот простой пример игры "Виселица" на языке Python. Этот код создает текстовую версию игры, в которой игрок должен отгадывать слово, вводя буквы.

import random

def choose_word():
    words = ['python', 'programming', 'hangman', 'developer', 'challenge']
    return random.choice(words)

def display_hangman(tries):
    stages = [
        """
           ------
           |    |
           |    O
           |   /|\\
           |   / \\
           |
        """,
        """
           ------
           |    |
           |    O
           |   /|\\
           |   /
           |
        """,
        """
           ------
           |    |
           |    O
           |   /|
           |
           |
        """,
        """
           ------
           |    |
           |    O
           |    
           |
           |
        """,
        """
           ------
           |    |
           |    
           |    
           |
           |
        """,
        """
           ------
           |    
           |    
           |    
           |
           |
        """,
        """
           
        """,
    ]
    return stages[tries]

def play():
    word = choose_word()
    word_letters = set(word)
    guessed_letters = set()
    tries = 6

    print("Добро пожаловать в игру Виселица!")
    
    while len(word_letters) > 0 and tries > 0:
        print(display_hangman(tries))
        print(f'Слово: {" ".join([letter if letter in guessed_letters else "_" for letter in word])}')
        print(f'У вас осталось попыток: {tries}')
        print(f'Гаданные буквы: {", ".join(guessed_letters)}')
        
        guess = input("Введите букву: ").lower()

        if guess in guessed_letters:
            print("Вы уже угадывали эту букву. Попробуйте снова.")
        elif guess in word_letters:
            guessed_letters.add(guess)
            word_letters.remove(guess)
            print("Отлично! Вы угадали букву.")
        else:
            guessed_letters.add(guess)
            tries -= 1
            print("Увы, буква не в слове.")
    
    if tries == 0:
        print(display_hangman(tries))
        print(f'Вы проиграли! Слово было: {word}')
    else:
        print(f'Поздравляем! Вы угадали слово: {word}')

if __name__ == "__main__":
    play()

Как использовать код:

  1. Скопируйте код в файл с расширением .py, например hangman.py.
  2. Запустите файл с помощью Python (например, python hangman.py).
  3. Следуйте инструкциям на экране, вводя буквы для угадывания слова.

Описание игры:

  • В игре выбирается случайное слово из списка.
  • Игроку предоставляется 6 попыток угадать буквы в слове.
  • Если игрок угадывает букву, она открывается в слове, если нет - уменьшается количество попыток.
  • Игра продолжается до тех пор, пока слово не будет угадано или попытки не закончатся.