Создаем текстовый квест в телеграме 2019

Квест с возвратами

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

Для каждой точки сделаем по функции: их можно назвать, например, go_to_start, go_to_room_one, go_to_room_two.

Кстати, если нам надо завершить квест, в питоне есть встроенная функция, которая завершает алгоритм. Она называется exit().

def go_to_start():
    print("Перед вами две двери, какую из них вы хотите проверить?")
    print("1 - Войти в первую дверь.")
    print("2 - Войти во вторую дверь.")

    action = input()

    # если игрок ввел 1 - идем в первую комнату
    if action == "1":
        go_to_room_one()
    # если игрок ввел 2 - во вторую
    if action == "2":
        go_to_room_two()
    # если игрок ввел что-то совсем другое - спрашиваем снова
    if action != "1" and action != "2":
        print("Я вас не понял, попробуйте еще раз.")
        go_to_start()

def go_to_room_one():
    print("Походу, это тупик. Ничего не остается, кроме как...")
    print("1 - Вернутся обратно.")

    action = input()

    # если игрок ввел 1 - возвращаемся на стартовую точку
    if action == "1":
        go_to_start()
    # если игрок ввел что-то совсем другое - спрашиваем снова
    if action != "1":
        print("Я вас не понял, попробуйте еще раз.")
        go_to_room_one()

def go_to_room_two():
    print("Вы нашли выход, поздравляем!")
    # завершаем работу программу
    exit()

# в начале - отправляем игрока на старт
go_to_start()

Попробуйте запустить это пример и изучить, как он работает, а затем - добавить собственные локации.

Назад Вперед