← Карта тем
Alterna · глава 52 · страница 52.1

Блоки и алгоритмы

Форма блока подсказывает, куда он подходит, но смысл программы определяют порядок, параметры и состояние.

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

алгоритмциклусловие
01

Шесть семейств блоков

События

Шляпы сценариев: флаг, клавиша, клик, сообщение. Они не вставляются внутрь обычной последовательности.

Движение

Изменяют координаты и направление: перейти, повернуть, скользить, изменить x или y.

Управление

Повторение, ожидание, ветвление и остановка сценария задают структуру выполнения.

Сенсоры

Возвращают значения: касается ли спрайт края, нажата ли клавиша, где находится указатель.

Внешность

Показывают образ, реплику, размер, слой и графический эффект, не подменяя состояние.

Данные

Переменные и списки хранят счёт, жизни, скорость и коллекции игровых объектов.

02

Последовательность и параметры

когда нажат флаг
перейти в x: 0 y: 0
сказать «Старт!» 1 секунду
изменить x на 40

Команда изменить x на 40 использует текущий x, а перейти в x: 40 заменяет координату. Параметр — часть команды: без числа блок не задаёт полного действия.

x = 0
print("Старт!")
x = x + 40
03

Цикл вместо копирования

Если одинаковые команды повторены вручную, программа длиннее и сложнее меняется. Цикл хранит тело и число повторений.

repeat 4:
  move 50
  turn 90
когда нажат флаг
повторить 4 раза
идти 50 шагов
повернуть на 90°
04

Условие читает сенсор

Ромбовидный блок-сенсор возвращает истину или ложь. C-блок если выбирает, выполнять ли вложенные команды. В конструкции если — иначе выполняется ровно одна ветвь.

когда нажата стрелка вправо
если не касается стены
изменить x на скорость
иначе сказать «Путь закрыт»
05

Трассировка

Начальное значение x = 10. Три раза выполняется x = x + 5, затем проверяется x > 20.

Шагx доКомандаx после
110x + 515
215x + 520
320x + 525
условие25x > 20истина