уровень 1.3 · практика
Кнопка по требованию
Дорога загружена, и держать её на красном впустую незачем: по умолчанию машинам горит зелёный. Пешеход, которому надо перейти, жмёт кнопку на столбе — и программа обязана его пропустить.
Чем управляете
| Выводы | Что это |
|---|---|
| D13 / D12 / D11 | Светофор для машин: зелёный, жёлтый, красный. |
| D10 / D9 / D8 | Светофор для пешеходов: зелёный, жёлтый, красный. |
| D2 | Кнопка вызова SB1 — это ВХОД. HIGH, пока пешеход её держит. |
Нажимает кнопку игрок — на сцене есть кнопка «Пешеход жмёт кнопку». Ваша программа её только читает.
Что проверяется
- Зелёные не пересекаются — как на прошлом уровне.
- Жёлтый в обе стороны у машин — тоже как на прошлом уровне.
- Покой. Пока заявок нет, машинам горит зелёный.
- Реакция. После нажатия зелёный пешеходам загорается не позже чем через 10 секунд.
- Мигание. Перед красным пешеходный зелёный мигает — гаснет и зажигается хотя бы дважды.
- Ни одного наезда.
Главная ловушка
Длинный delay() съедает нажатие: пока программа спит, кнопку читать некому, и пешеход давит её впустую. Опрашивайте вход часто — или коротким шагом ожидания в цикле, или запоминая заявку сразу, как только увидели HIGH.