Моментальные и длительные блоки.
Глобально все блоки в программе можно разделить на 2 категории. При использовании каждого блока нужно понимать к какой группе он относится. Рассмотрим несколько примеров.
Первый блок длительный – он будет исполнятся все время пока робот двигается 1 оборот (по меркам робота это очень долго).
Второй блок моментальный, робот исполнил его и сразу перешёл на следующий. В программе, состоящей только из моментальных блоков, робот способен исполнять несколько тысяч блоков в секунду.
Важные отличия появляются при взаимодействии блоков
Две похожие программы работают совершенно по-разному. Робот по левой программе двигается прямо одну секунду, останавливается, ждет еще 1 секунду, после чего включает звук «Hello».
По правой программе робот начинает ехать, ждет 1 секунду (в движении), после чего включает звук «Hello». При этом он не остановится, а продолжит бесконечно ехать вперед.
Другой пример,
по левой программе робот включает звук 60 и в этот же момент начинает ехать, все время движения первого оборота робот продолжает издавать звук. Как только робот проезжает 1 оборот, включается новый звук 70, робот снова едет 1 оборот. По завершении движения звук не выключится пока мы принудительно не отключим программу.
Правая программа значительно проще, все действия выполняются последовательно и никак не связанны друг с другом.
Если мы хотим добиться синхронизации длительного и моментального действий, то сначала устанавливается моментальный блок (или несколько) и только после него длительные. Например, мы хотим, чтобы робот включил красную подсветку и звук 60 на все время движения по нажатию кнопки модуля.
Любая другая последовательность блоков не выполнит поставленную задачу.