Условия в Scratch: проверяем событие и меняем поведение игры
Редакция Школьного Университета «Синергия»
Редакционный материал об образовании и обучении
Условие в Scratch позволяет программе выбрать действие: если проверка верна, выполняется один набор команд, иначе — другой. Например, персонаж получает очко, если касается звезды. Важно различать сам вопрос и действие после ответа. Блок «касается звезды?» сообщает истину или ложь, а изменение счёта задаётся отдельно.
Начните с условия без игры
Попросите ребёнка придумать правило: если карточка красная, положить её в одну коробку, иначе — в другую. Затем обсудите пограничный случай: карточка наполовину красная. Чтобы правило работало, проверка должна быть понятной. В программе тоже нужно явно определить, что считается выполненным условием. После этого перенесите идею в Scratch. Возьмите спрайт героя и отдельный спрайт звезды. Сначала проверьте только касание, без таймера, противников и музыки. Одно новое понятие легче увидеть, если остальные части проекта простые.
Что делает «если — то»
Внутрь блока помещают действия, которые нужны при истинном условии. Если условие ложно, эти действия пропускаются. Вариант «если — то — иначе» дополнительно задаёт второй путь. Это не две независимые проверки, которые обязательно выполнятся обе.
если <касается [звезда]?> то
изменить [счёт] на 1
переместить звезду в новое место
иначе
продолжить движениеЭто текстовая схема блоков, а не код для вставки в текстовый редактор. Соберите соответствующие элементы в интерфейсе Scratch и проверьте, какие команды относятся к герою, а какие — к звезде.
Почему условие нужно проверять повторно
Один выполненный блок «если» не наблюдает за игрой всё время. Если проверка стоит только после зелёного флага, она сработает в тот момент запуска и не обязательно заметит дальнейшее касание. Для постоянного наблюдения её помещают в подходящий цикл или связывают с нужным событием. Однако повторение создаёт новую задачу: пока спрайты соприкасаются, очки могут добавляться много раз. В нашем простом варианте звезда после касания меняет положение, поэтому длительное касание прекращается. Другие способы — ждать завершения касания или хранить состояние; их вводят после понимания первой модели.
Как проверить проект
| Ситуация | Ожидаемое поведение |
|---|---|
| Герой далеко от звезды | Счёт не меняется |
| Герой коснулся звезды | Счёт увеличился на один |
| Звезда переместилась | Повторного очка за старое касание нет |
| Игра запущена заново | Счёт сброшен по правилам проекта |
Если очки растут без остановки, не удаляйте блоки случайно. Посмотрите, продолжает ли условие оставаться истинным в каждом проходе цикла. Если счёт не меняется, проверьте, к какому спрайту относится сценарий и какой объект выбран в проверке касания.
Что добавить следующим шагом
После рабочей одной проверки можно ввести условие победы: если счёт достиг нужного значения, показать сообщение и остановить подходящие сценарии. Затем обсудите, что произойдёт при счёте больше цели. Сравнение «равно» и «не меньше» решает разные задачи и должно соответствовать правилам игры. Для ребёнка 6–9 лет подойдёт постепенный переход от правил к интерактивному проекту. В треке создания миров EasyCode уточните текущие инструменты и стартовый уровень. Хороший учебный результат — ребёнок может объяснить проверку и показать, как проверял её работу.
Источники и материалы для проверки: Scratch: идеи и учебные проекты.
Читайте также: Циклы в Scratch: как убрать повторяющиеся блоки и сделать мини-игру.
Выберите подходящую программу и уточните условия занятий или поступления.
Программа и условиячитайте также
easycode
Списки в Python: инвентарь игры с примерами
Списки Python на игровом примере: индексы, append, remove, len, проверка наличия, перебор и типичные ошибки. Файл для самостоятельного запуска.
easycode
Отладка кода для начинающих: как искать ошибку
Пошаговая отладка первого проекта: воспроизведение, ожидаемый результат, минимальный пример, проверка гипотезы и повторный тест на JavaScript.
easycode
Godot или Unity: что выбрать для первого проекта
Godot и Unity для подростка: язык, сложность первого проекта, 2D и 3D, лицензия, оборудование и выбор курса без бесконечной смены движков.