Найти в Дзене

Урок 33. Игра: «Вход в замок»

Текстовые игры — отличный способ изучать программирование.
Они напоминают книги-приключения, где читатель сам выбирает путь героя. В этом уроке мы создадим небольшой текстовый квест на Python, в котором игрок попытается попасть в таинственный замок. Главная цель урока — научиться использовать условия if — elif — else, чтобы программа могла реагировать на выбор игрока. Представьте, что вы путешественник, который пришёл к древнему замку. Перед вами: Вы должны выбрать, как попасть внутрь. Каждое решение ведёт к разным последствиям. Игрок вводит номер действия. Программа проверяет выбор с помощью условий: print("🏰 Вы подошли к древнему замку.") print("Перед вами огромные ворота и старый мост.") print("\nЧто вы сделаете?") print("1 — Постучать в ворота") print("2 — Поговорить со сторожем") print("3 — Обойти замок") choice = input("Ваш выбор: ") if choice == "1": print("\nВы громко стучите в ворота.") print("Никто не отвечает...") print("Вдруг сверху слышится голос:") print("— Пароль!") pr
Оглавление

Текстовые игры — отличный способ изучать программирование.

Они напоминают
книги-приключения, где читатель сам выбирает путь героя.

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

Главная цель урока — научиться использовать условия if — elif — else, чтобы программа могла реагировать на выбор игрока.

📖 Сюжет игры

Представьте, что вы путешественник, который пришёл к древнему замку.

Перед вами:

  • высокий каменный мост
  • огромные ворота
  • старый сторож
  • таинственная дверь сбоку

Вы должны выбрать, как попасть внутрь.

Каждое решение ведёт к разным последствиям.

🧭 Логика игры

Игрок вводит номер действия.

Программа проверяет выбор с помощью условий:

  • if — проверка первого варианта
  • elif — другие варианты
  • else — ошибка ввода

🧪 Программа квеста

-2
print("🏰 Вы подошли к древнему замку.")
print("Перед вами огромные ворота и старый мост.")
print("\nЧто вы сделаете?")
print("1 — Постучать в ворота")
print("2 — Поговорить со сторожем")
print("3 — Обойти замок")
choice = input("Ваш выбор: ")
if choice == "1":
print("\nВы громко стучите в ворота.")
print("Никто не отвечает...")
print("Вдруг сверху слышится голос:")
print("— Пароль!")
print("\nПодсказка:")
print(r"""
/ \ //\
|\___/| \\
/O O \ |
/ / \ |
\_@_/_ | |
/ \ | |
/_____\ | |
/ \ |
/_____\ |
ДРАКОН
""")
password = input("\nВведите пароль: ")
if password == "дракон":
print("Ворота медленно открываются. Вы вошли в замок!")
else:
print("Неверный пароль. Стража прогоняет вас.")
elif choice == "2":
print("\nСтарый сторож смотрит на вас.")
print("— Хочешь войти? Тогда ответь на вопрос.")
answer = input("Сколько лап у дракона? ")
if answer == "4":
print("— Верно! Проходи.")
else:
print("— Неправильно. Возвращайся домой.")
elif choice == "3":
print("\nВы обходите замок и находите тайную дверь.")
print("Она слегка приоткрыта...")
print("Вы тихо входите внутрь замка!")
else:
print("Такого варианта нет.")

Подробное описание программы

Игра-квест «Вход в замок»

Эта программа — небольшой текстовый квест на Python. Игрок читает историю и выбирает действия, вводя номер варианта. В зависимости от выбора программа показывает разные события.

Главная цель программы — показать, как работают условия if — elif — else, а также ввод данных с помощью input().

1. Начало программы — создание истории

print("🏰 Вы подошли к древнему замку.")
print("Перед вами огромные ворота и старый мост.")

Команда print() выводит текст на экран.

Эти строки создают начальную сцену приключения. Игрок узнаёт, где он находится.

2. Показ вариантов действий

print("\nЧто вы сделаете?")
print("1 — Постучать в ворота")
print("2 — Поговорить со сторожем")
print("3 — Обойти замок")

Здесь игроку предлагаются три возможных действия.

Символ \n означает переход на новую строку.

Это делает текст более удобным для чтения.

3. Получение выбора игрока

choice = input("Ваш выбор: ")

Функция input() позволяет программе получить ответ от пользователя.

Например, игрок может ввести:

1

или

2

или

3

Ответ сохраняется в переменную choice.

4. Проверка выбора игрока

if choice == "1":

Условие if проверяет, равен ли введённый текст числу "1".

Важно помнить: input() возвращает строку, поэтому число пишется в кавычках.

Если игрок выбрал вариант 1, начинается первая ветка истории.

5. Сцена с воротами

print("\nВы громко стучите в ворота.")
print("Никто не отвечает...")
print("Вдруг сверху слышится голос:")
print("— Пароль!")

Здесь продолжается сюжет.

Игрок узнаёт, что для входа в замок нужен
секретный пароль.

6. Показ подсказки (ASCII-картинка)

Перед вводом пароля программа показывает рисунок дракона.

/ \ //\
|\___/|
/O O \
...
ДРАКОН

Это сделано с помощью:

print(r""" ... """)

Буква r означает raw string — строка выводится буквально, без обработки символов \.

Картинка служит подсказкой к паролю.

7. Ввод пароля

password = input("\nВведите пароль: ")

Игрок вводит пароль.

Ответ сохраняется в переменной password.

8. Проверка пароля

if password == "дракон":

Если игрок ввёл слово дракон, условие выполняется.

Программа показывает успешный результат:

Ворота медленно открываются. Вы вошли в замок!

Если пароль неправильный, срабатывает else.

9. Второй путь — разговор со сторожем

elif choice == "2":

elif означает «иначе если».

Если игрок выбрал второй вариант, появляется сторож.

Он задаёт загадку:

answer = input("Сколько лап у дракона? ")

10. Проверка ответа на загадку

if answer == "4":

Если игрок отвечает 4, сторож пропускает его.

Если нет — игрок не может войти.

11. Третий путь — тайная дверь

elif choice == "3":

Если игрок выбирает третий вариант, он обходит замок.

Там он находит тайную дверь, через которую можно попасть внутрь.

12. Обработка ошибки

else:
print("Такого варианта нет.")

Если игрок введёт что-то другое, например:

7

или

abc

программа сообщит, что такого варианта не существует.

Логическая схема программы

Игрок → выбирает действие

1 → пароль

правильный → вход
неправильный → проигрыш

2 → загадка

правильный → вход
неправильный → отказ

3 → тайная дверь → вход

Чему учит эта программа

Этот квест помогает освоить важные элементы Python:

  • print() — вывод текста
  • input() — ввод данных
  • переменные
  • условия if, elif, else
  • вложенные условия
  • создание простых интерактивных игр

Заключение

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

С помощью простых команд Python можно создать целую историю, где игрок сам выбирает путь героя.

Освоив этот пример, можно легко расширить игру:

  • добавить новые комнаты замка
  • придумать больше загадок
  • создать несколько концовок
  • добавить предметы и инвентарь

Так шаг за шагом простая учебная программа превращается в настоящую игру-приключение на Python.