Перейти к основному содержимому

Введение В Блоки

MOCPilot использует визуальную систему блочного программирования, которая по внешнему виду и взаимодействию похожа на Scratch. У каждого блока есть своя роль, а допустимые комбинации определяют поток выполнения и поток данных в скрипте. Используется логика drag-and-drop и паттерны взаимодействия в стиле Scratch, чтобы создавать программы было удобно и привычно.

Важно О Совместимости

Это другая блочная система со своим набором блоков и поведением. Программы MOCPilot не совместимы с проектами Scratch: программы MOCPilot нельзя импортировать в Scratch, а программы Scratch нельзя импортировать в MOCPilot.

Формы Блоков И Их Назначение

Стартовые Блоки

block_event_when_program_started.svgblock_event_when.svg

Запускают скрипт при наступлении определенного события. К ним можно присоединять блоки только снизу.


Командные Блоки

block_control_wait_for.svgblock_sensors_timer_reset.svg

Основные командные блоки, которые выполняют действия.


C-Блоки

block_control_if.svgblock_control_if_else.svg

Управляющие блоки C-образной формы, которые содержат вложенные стеки блоков (циклы/условия).


Репортер-Блоки

block_sensors_timer_value_float.svgblock_operator_math_single.svg

Возвращают значения, например числа или строки.


Логические Блоки

block_operator_equal.svgblock_operator_string_contains.svg

Возвращают только истина или ложь, обычно используются в условиях.


Завершающие Блоки

block_control_stop.svgblock_control_repeat_forever.svg

Завершают скрипт и не позволяют присоединять блоки снизу.


Стек Блоков

blocks_stack.svg

Стек блоков — это последовательность соединенных блоков, которая выполняется как единый скрипт сверху вниз. Обычно стек начинается с блока события, после чего присоединенные блоки выполняются по порядку.


Модель Выполнения Скрипта

  • Скрипт обычно начинается с блока события.
  • Соединенные блоки выполняются сверху вниз.
  • Несколько скриптов могут работать параллельно.
  • Блоки сообщений/рассылки используются для синхронизации скриптов.
  • Стек блоков — это последовательность блоков, соединенных между собой.

Данные И Значения

  • Репортер-блоки можно вкладывать в поля ввода команд и условий.
  • Переменные хранят переиспользуемые значения между блоками и скриптами.
  • Списки хранят упорядоченные коллекции для истории, очередей и поиска данных.

События И Время

  • Блоки событий реагируют на ввод пользователя, состояние хаба, датчики или сообщения.
  • События на основе таймера и датчиков могут срабатывать очень часто.
  • Используйте пороги, фильтрацию или короткие задержки, чтобы уменьшить шумные повторные срабатывания.

Хаб, Порты И Контроллеры

  • Блоки хаба работают в контексте хаба и портов.
  • Некоторые блоки доступны только для отдельных семейств хабов/устройств.
  • Блоки экранных контроллеров и геймпада дают ввод во время выполнения и управление интерфейсом.

Рекомендуемый Порядок Работы

  1. Начните с одного блока события и минимального скрипта.
  2. Сразу проверьте направление и диапазоны моторов/датчиков.
  3. Вынесите повторяющуюся логику в сообщения и вспомогательные скрипты.
  4. Перед финальной настройкой добавьте защиту (ограничения, остановки, резервные значения).

Типичные Ошибки

  • Отсутствие стартового блока события означает, что скрипт не запустится.
  • Неверный выбор хаба/порта приводит к отсутствию видимого эффекта.
  • Смешивание типов значений (текст/число/boolean) может дать некорректную логику.
  • Частые события без фильтрации могут перегрузить поведение программы.

Структура Документации В Этом Разделе

Используйте страницы категорий в этом порядке:

  • Свет
  • Моторы
  • Датчики
  • События
  • Управление
  • Операторы
  • Переменные
  • Списки
  • Мои Блоки
  • Экранные контроллеры
  • Геймпад