Как сделать игру «Виселица» на Python

Как сделать игру «Виселица» на Python. Изображение 1

Как играть в Виселицу

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

Если вы угадаете правильную букву в ответном слове, Палач вставит ее в тире. И наоборот, если догадка неверна, игрок теряет возможность, Палач вытягивает плитку, которая составляет часть крупье (представляющую счет). Всего у игрока есть 7 догадок. Если они угадывают правильно, они выигрывают. Если это не так, Палач достраивает фигурку.

Как построить игру Виселица

Импортируйте модуль random и определите функцию get_random_word_from_wordlist() для выбора случайного слова в файле. Этот текстовый файл может содержать имена нарицательные или названия мест, животных, фильмов и т. д., которые вам нравятся. Создайте список, используя квадратные скобки ( () ).

Используйте команду with, чтобы открыть файл и изменить режим на «r» только для чтения. Он автоматически закрывает файл в конце блока даже в случае ошибки. Если вы посмотрите на файл hangman_wordlist.txt, вы увидите, что в каждой строке есть одно слово, поэтому в этом файле каждое слово отделяется символом новой строки.

Передайте escape-символ для новой строки ( n ) в функцию split(), чтобы содержать каждое слово в списке, который вы изначально определили. Используйте random.choice(), чтобы вернуть случайное слово из списка.

импортировать случайное определение get_random_word_from_wordlist(): список слов = () с открытым (“висячим_словомлистом.txt”, ‘r’) в качестве файла: список слов = файл. слово

Затем определите функцию get_some_letters(), которая принимает случайно выбранное слово в качестве параметра. Эта функция отобразит пользователю пустую пунктирную строку ( _ ) и несколько букв.

Задает пустой список букв, содержащий все символы, присутствующие в слове. Используйте переменную temp для хранения числовой строки пустых дефисов, равной длине слова. Используйте list(), чтобы преобразовать строку в список символов и выполнить итерацию по ней. Используйте append(), чтобы добавить символ в список, если он еще не существует.

Используйте random.choice(), чтобы выбрать случайный символ, который вы хотите отобразить пользователю с пустыми штрихами. Перебирайте символ слова с помощью перечисления, чтобы отслеживать индекс каждого символа.

Когда случайно выбранный символ найден, замените пробел этим символом. Используйте функцию join(), чтобы объединить список символов в полную строку и вернуть ее.

def get_some_letters(word): letters = () temp = ‘_’ * len(word) для char в списке(word): если char не в буквах: letter.append(char) character = random.choice(letters) для num , char в перечислении (список (слово)): если char == символ: templist = list (temp) templist (num) = char temp = ”.join (templist) return temp

Определите функцию draw_hangman(), которая принимает количество шансов в качестве параметра. Эта функция обеспечивает характер висящего человека. Количество шансов уменьшается пропорционально количеству оставшихся розыгрышей. Когда ход заканчивается, персонаж крупье завершается, и игра заканчивается.

def draw_hangman(chances): если шансы == 6: print(“________”) print(“| | “) print(“| “) print(“| “) print(“| “) print(“| “) elif шансы == 5: печать(“________”) печать(“| | “) печать(“| 0”) печать(“| “) печать(“| “) печать(“| “) elif шансы == 4: печать (“________”) print(“| | “) print(“| 0”) print(“” print(“| “) print(“| “) шансы elif == 3: print(“________”) print(” | | “) print(“| 0”) print(“” “) print(“| “) print(“| “) шансы elif == 2: print(“________”) print(“| | “) print( “| 0”) print(“” “) print(“| “) print(“| “) шансы elif == 1: print(“________”) print(“| | “) print(“| 0”) print (“” “) print(“” print(“| “) elif шансы == 0: print(“________”) print(“| | “) print(“| 0”) print(“” “) print(” ” печать(“| “)

Объявите функцию start_hangman_game(), определяющую основную логику программы. Получите случайное слово, вызвав функцию get_random_word_from_wordlist(), и получите строку, показанную пользователю, используя функцию get_some_letters.

Установите номер шанса на 7 и инициализируйте переменную, найдено ложное. Вы установите значение true, если угаданная буква есть в слове.

def start_hangman_game(): word = get_random_word_from_wordlist() temp = get_some_letters(word) шансы = 7 найдено = False

Объявите цикл, который завершается, когда пользователь правильно угадывает слово или исчерпал шансы. Начните игру, показывая последовательность, количество символов в слове и оставшиеся шансы. Попросите игрока угадать слово и получить его с помощью функции input(). Подтвердите ввод пользователя, проверив длину символа и проверьте, является ли он буквенным.

while True: если шансы == 0: print(f”Извините! Вы проиграли, слово было: {word}”) print(“Удачи в следующий раз”) break print(“=== Угадайте слово ===” ) print(temp, end=”) print(f”t(слово содержит {len(word)} букв)”) print(f”Осталось шансов: {шансов}”) character = input(“Введите символ, который вы думаете слово может иметь: “) если len(character) > 1 или нет character.isalpha(): print(“Пожалуйста, введите только один алфавит”) continue

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

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

иначе: для числа, char в перечислении (список (слово)): если char == символ: templist = list (temp) templist (num) = char temp = ”.join (templist) found = True, если найдено: found = Ложь еще: шансы -= 1, если ‘_’ не во временном формате: print(f”nВы выиграли! Слово было: {слово}”) print(f”Вы получили это в {7 – шансы} угадать”) break else: draw_hangman(шансы) print()

Определите функцию для игры в «Виселицу». Если пользователь введет yes, вызовите start_hangman_game(), в противном случае выйдите из игры с соответствующим сообщением. В случае, если ввод недействителен, попросите пользователя повторно ввести информацию еще раз.

print(“===== Добро пожаловать в игру “Виселица” =====”) while True: selection = input(“Хочешь поиграть в палача? (да/нет): “) if ‘yes’ in selection.lower (): start_hangman_game() elif ‘нет’ в выборе.

Результат:

Результат, когда игрок выигрывает:

Как сделать игру «Виселица» на Python. Фото 2.

Результат при проигрыше:

Как сделать игру «Виселица» на Python. Изображение 3

Выше показано, как создать игру Hangman на Python. Надеюсь, статья будет вам полезна.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *