Моментальные и длительные блоки.

Глобально все блоки в программе можно разделить на 2 категории. При использовании каждого блока нужно понимать к какой группе он относится. Рассмотрим несколько примеров.

Первый блок длительный – он будет исполнятся все время пока робот двигается 1 оборот (по меркам робота это очень долго).

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

Важные отличия появляются при взаимодействии блоков

Две похожие программы работают совершенно по-разному. Робот по левой программе двигается прямо одну секунду, останавливается, ждет еще 1 секунду, после чего включает звук «Hello».

По правой программе робот начинает ехать, ждет 1 секунду (в движении), после чего включает звук «Hello». При этом он не остановится, а продолжит бесконечно ехать вперед.

Другой пример,

по левой программе робот включает звук 60 и в этот же момент начинает ехать, все время движения первого оборота робот продолжает издавать звук. Как только робот проезжает 1 оборот, включается новый звук 70, робот снова едет 1 оборот. По завершении движения звук не выключится пока мы принудительно не отключим программу.
Правая программа значительно проще, все действия выполняются последовательно и никак не связанны друг с другом.

Если мы хотим добиться синхронизации длительного и моментального действий, то сначала устанавливается моментальный блок (или несколько) и только после него длительные. Например, мы хотим, чтобы робот включил красную подсветку и звук 60 на все время движения по нажатию кнопки модуля.
Любая другая последовательность блоков не выполнит поставленную задачу.