Блог онлайн школы Пиксель

Как сделать игру “Виселица” на Python — обучение Python для детей

Онлайн-школа программирования “Пиксель” делится бесплатными уроками по созданию игр на языке Python (Питон, Пайтон). Небольшие проекты предназначены для того, чтобы познакомить детей с Питоном, научить их писать собственные программы и реализовывать свои идеи.
На этом уроке мы запрограмммируем игру “Виселица” с помощью Python. Смысл игры в том, чтобы угадать слово, выбранное компьютером случайно из определенного списка. Игрок, угадывающий слово, в качестве подсказки видит только гласные буквы. Давайте приступим к программированию.
Мы также подготовили подробную видеоинструкцию, ищите ее в конце материала.

Начало программирования игры на Python

Создаем python-файл под названием hangman.py. В переводе с англ. это значит “виселица”. Импортируем модуль random. Нам он понадобится для случайного выбора слова. Создаем функцию hangman. В функцию print поместим приветственное сообщение. Создадим список и поместим в него разные фрукты. Вы можете написать свой список. В переменную secret поместим то слово, которое должен угадать игрок. В модуле random есть функция choice, которая из списка, помещенного в скобки, выберет случайное значение. Таким образом компьютер случайным образом выбирает слово.
В переменную guesses поместим гласные буквы. Мы сделали это для того, чтобы игроку была предоставлена подсказка. Ему останется угадать только согласные буквы. В turns кладем число 5, означающее количество попыток у игрока. Запустим цикл while, который будет работать, пока у игрока не закончатся попытки.
Переменная missed будет означать количество пропусков. Пока поместим туда ноль. Запустим цикл for, перебирающий каждую букву в загаданной компьютером слове. Далее с помощью условия будем проверять, какую букву угадал игрок. Пока в guesses записаны гласные буквы, но потом запись будет удлиняться каждый ход, когда игрок пытается отгадать букву. В том месте, где буква не отгадана, будет стоять нижнее подчеркивание. К missed будет прибавлена единица, что означает наличие пропусков в слове.
Ниже добавим условие: если missed равен нулю, то игрок выиграл, а команда break завершает цикл принудительно. Другими словами, если пропусков в слове не осталось, то игрок побеждает. В переменную guess поместим input. В данной переменной будет храниться буква, которую напишет игрок в консоли. Затем эта буква присоединяется к переменной guesses. А переменная guesses каждую итерацию, то есть каждый раз, когда код повторяется, проверяется на наличие отгаданных букв.
Последнее условие будет на тот случай, если игрок не угадает букву. У переменной turns отнимаем единицу. Выводим сообщение в консоль. Сообщаем о количестве оставшихся попыток. Запишем на каждой строке условия, которые будут отрисовывать человечка на виселице. Если игрок увидит человечка полностью, то значит игра завершилась проигрышем. Обязательно выведем в консоль загаданное слово.
Выйдем из функции. В переменную ans по умолчанию поместим ответ “да”. Цикл while будет работать только в том случае, если ans будет равен “да”. В цикл помещаем функцию hangman. Как только функция прекращает работу, в консоль выводится сообщение, которое спрашивает игрока, желает ли он продолжить игру. Через консоль игрок дает ответ. Давайте проверим, как работает программа. Пойдем по тому сценарию, где игрок угадывает слово. А теперь не угадывает.
Если хотите создавать игры, используя язык программирования Python, то записывайтесь к нам на курсы и мы вас всему научим. Школа “Пиксель” обучает программированию на Python школьников от 10 до 14 лет.

Игра “Виселица” на Python — полный код программы

import random
def hangman():
print ('Привет! Добро пожаловать в игру Виселица')
wordlist = ['мандарин', 'яблоко', 'груша', 'виноград', 'апельсин', 'манго']
secret = random.choice(wordlist)
guesses = 'ауоыиэяюёе'
turns = 5
while turns > 0:
missed = 0
for letter in secret:
if letter in guesses:
print (letter,end=' ')
else:
print ('_',end=' ')
missed += 1
if missed == 0:
print ('\nТы выиграл!')
break
guess = input('\nНазови букву: ')
guesses += guess
if guess not in secret:
turns -= 1
print ('\Не угадал.')
print ('\n', 'Осталось попыток: ', turns)
if turns < 5: print ('\n | ')
if turns < 4: print (' O ')
if turns < 3: print (' /|\ ')
if turns < 2: print (' | ')
if turns < 1: print (' / \ ')
if turns == 0: print ('\n\nЭто слово: ', secret)
ans = 'да'
while ans == 'да':
hangman()
print('Хочешь сыграть снова? (да или нет)')
ans = input()

Видеоурок по созданию игры:

2023-01-21 17:00 Бесплатные видеоуроки Python для детей