Introducción a los bloques
MOCPilot utiliza un sistema de programación visual basado en bloques, similar a Scratch.
Cada bloque tiene un propósito específico, y las combinaciones válidas definen el flujo de control y de datos dentro de un script.
Se basa en lógica de arrastrar y soltar y patrones de interacción tipo Scratch para ofrecer una forma cómoda y familiar de crear programas.
Este es un sistema de bloques diferente, con su propio conjunto de bloques y comportamiento.
Los programas de MOCPilot no son compatibles con proyectos de Scratch: no se pueden importar entre sí.
Formas de bloques y significado
Bloques de inicio
Inician un script cuando ocurre un evento. Solo permiten bloques debajo.
Bloques de pila
Bloques principales que ejecutan acciones.
Bloques en C
Bloques de control con forma de “C” que contienen otros bloques (bucles/condiciones).
Bloques reporteros
Devuelven valores como números o texto.
Bloques booleanos
Devuelven true o false, usados normalmente en condiciones.
Bloques de cierre
Finalizan scripts y no permiten bloques debajo.
Pila de bloques
Una pila de bloques es una secuencia conectada que se ejecuta de arriba hacia abajo como un único flujo.
Normalmente comienza con un bloque de evento.
Modelo de ejecución
- Un script normalmente comienza con un bloque de evento.
- Los bloques conectados se ejecutan de arriba hacia abajo.
- Varios scripts pueden ejecutarse en paralelo.
- Los mensajes (broadcast) se usan para sincronizar scripts.
- Una pila es una secuencia de bloques conectados.
Datos y valores
- Los bloques reporteros pueden anidarse dentro de otros bloques.
- Las variables almacenan valores reutilizables.
- Las listas almacenan colecciones ordenadas.
Eventos y tiempo
- Los eventos reaccionan a entradas, sensores o mensajes.
- Algunos eventos pueden dispararse con mucha frecuencia.
- Usa filtros o pequeñas esperas para evitar ruido.
Hub, puertos y controladores
- Los bloques del hub operan sobre el hub y sus puertos.
- Algunos bloques solo están disponibles para dispositivos específicos.
- Dashboard y Gamepad proporcionan entrada y control en tiempo real.
Flujo recomendado
- Empieza con un evento y un script simple.
- Verifica motores y sensores desde el inicio.
- Extrae lógica repetida en scripts auxiliares.
- Añade protecciones antes de ajustar el comportamiento final.
Errores comunes
- Falta de bloque de inicio → el script no se ejecuta.
- Puerto o hub incorrecto → sin efecto visible.
- Mezclar tipos de datos → lógica inválida.
- Eventos frecuentes sin control → comportamiento inestable.
Estructura de documentación
Usa las categorías en este orden:
- Luz
- Motores
- Sensores
- Eventos
- Control
- Operadores
- Variables
- Listas
- Mis bloques
- Controladores del panel
- Gamepad