Автомат печатает лишнее
В воображаемом музее кнопка выдаёт бумажный билет. Игра проверяет кнопку по очередным шагам. Если правило звучит «когда кнопка нажата, выдать билет», три проверки во время удержания дадут три билета. Пользователь при этом нажал всего один раз. Нарисуй строку состояний: отпущена, нажата, нажата, нажата, отпущена. Под каждой проверкой отметь, срабатывает ли старое правило.
Нужно помнить прошлый шаг
Новое правило выдаёт билет только при переходе из «отпущена» в «нажата». Для этого рядом с текущим состоянием записывай предыдущее. В нашей последовательности переход встретится один раз. Удержание больше не создаёт новые билеты. После проверки сохрани текущее состояние как предыдущее для следующего шага. Порядок важен: если сначала перезаписать прошлое, два значения всегда будут совпадать.
Повторное нажатие допустимо
Добавь ещё два состояния: нажата, отпущена. Теперь новый билет появится после отпускания и следующего нажатия. Это отличается от запрета выдавать больше одного билета вообще. Для разных действий нужны разные правила: движение по стрелке может повторяться при удержании, а подтверждение выбора — выполняться один раз. Выбирай поведение по задаче игрока и проверяй короткими последовательностями состояний.
Твоя мастерская
Отдели нажатую кнопку от нового нажатия
Отмечай готовые шаги.
Отметки сохраняются в этом браузере. Можно распечатать задание и отмечать шаги карандашом.