уровень 1.3 · практика

Кнопка по требованию

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

Чем управляете

ВыводыЧто это
D13 / D12 / D11Светофор для машин: зелёный, жёлтый, красный.
D10 / D9 / D8Светофор для пешеходов: зелёный, жёлтый, красный.
D2Кнопка вызова SB1 — это ВХОД. HIGH, пока пешеход её держит.

Нажимает кнопку игрок — на сцене есть кнопка «Пешеход жмёт кнопку». Ваша программа её только читает.

Что проверяется

  • Зелёные не пересекаются — как на прошлом уровне.
  • Жёлтый в обе стороны у машин — тоже как на прошлом уровне.
  • Покой. Пока заявок нет, машинам горит зелёный.
  • Реакция. После нажатия зелёный пешеходам загорается не позже чем через 10 секунд.
  • Мигание. Перед красным пешеходный зелёный мигает — гаснет и зажигается хотя бы дважды.
  • Ни одного наезда.

Главная ловушка

Длинный delay() съедает нажатие: пока программа спит, кнопку читать некому, и пешеход давит её впустую. Опрашивайте вход часто — или коротким шагом ожидания в цикле, или запоминая заявку сразу, как только увидели HIGH.

← К заданию «Светофор»