Текстовые игры — отличный способ изучать программирование.
Они напоминают книги-приключения, где читатель сам выбирает путь героя.
В этом уроке мы создадим небольшой текстовый квест на Python, в котором игрок попытается попасть в таинственный замок.
Главная цель урока — научиться использовать условия if — elif — else, чтобы программа могла реагировать на выбор игрока.
📖 Сюжет игры
Представьте, что вы путешественник, который пришёл к древнему замку.
Перед вами:
- высокий каменный мост
- огромные ворота
- старый сторож
- таинственная дверь сбоку
Вы должны выбрать, как попасть внутрь.
Каждое решение ведёт к разным последствиям.
🧭 Логика игры
Игрок вводит номер действия.
Программа проверяет выбор с помощью условий:
- if — проверка первого варианта
- elif — другие варианты
- else — ошибка ввода
🧪 Программа квеста
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.