Враги и победа

Добавляем случайную встречу и проверяем условие побега.

Два дружелюбных питона

Шаг 1 · Встреть врага

На новом ходу враг появляется не всегда.

Python
Запустить в IDE ↗
import randomhp = 10enemies = ["крыса", "призрак", "паук"]if random.randint(1, 3) == 1:    enemy = random.choice(enemies)    hp -= 1    print("Напал", enemy, "| HP:", hp)else:    print("В комнате тихо.")

Что происходит в коде

  1. randint(1, 3) выбирает число 1, 2 или 3.
  2. Только при числе 1 выбирается случайный враг и уменьшается HP.
  3. Иначе игрок проходит без урона.

Шаг 2 · Проверь побег

Для победы нужно оказаться на чердаке с отмычкой после победы над драконом.

Python
Запустить в IDE ↗
current_room = "чердак"inventory = ["меч", "отмычка"]dragon_alive = Falseif current_room == "чердак" and "отмычка" in inventory and not dragon_alive:    print("Победа! Ты сбежал из замка!")
Результат
Победа! Ты сбежал из замка!

Что происходит в коде

  1. and означает, что все три проверки должны быть истинными.
  2. not dragon_alive означает, что дракон уже побеждён.
  3. Если хотя бы одна проверка ложна, сообщение о победе не появится.

Попробуй сам

  1. Поменяй комнату на «подвал» и объясни, почему победы нет.
  2. Убери отмычку из рюкзака и снова проверь результат.
  3. Скачай полную игру, найди в ней встречу с врагом и проверку победы. Измени врагу урон или добавь комнату.

Открой пример в онлайн IDE, измени его и проверь результат после каждого изменения.

Как это работает в полной игре

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

Скачать исходный код игры
Заметка для преподавателя

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