Introduksjon til blokker
MOCPilot bruker et visuelt blokkbasert programmeringssystem som ligner på Scratch i utseende og bruk. Hver blokk har en spesifikk rolle, og gyldige kombinasjoner definerer kontrollflyt og dataflyt i et skript. Systemet bruker dra-og-slipp-logikk og Scratch-lignende interaksjonsmønstre for å gi en enkel og kjent måte å bygge programmer på.
Dette er et annet blokksystem med egne blokker og egen oppførsel.
MOCPilot-programmer er ikke kompatible med Scratch-prosjekter: MOCPilot-programmer kan ikke importeres til Scratch, og Scratch-programmer kan ikke importeres til MOCPilot.
Blokkformer og betydning
Startblokker (Hat Blocks)
Starter et skript når en spesifikk hendelse oppstår. Blokker kan kun festes under.
Stabelblokker
Hovedblokker som utfører handlinger.
C-blokker
C-formede kontrollblokker som inneholder nestede blokkstabler (løkker/betingelser).
Rapportørblokker
Returnerer verdier som tall eller tekst.
Boolske blokker
Returnerer kun true eller false, brukes vanligvis i betingelser.
Sluttblokker
Avslutter skript og tillater ikke blokker under.
Blokkstabel
En blokkstabel er en sekvens av sammenkoblede blokker som kjøres som én flyt fra topp til bunn.
Stabler starter vanligvis med en hendelsesblokk og kjører deretter tilkoblede blokker i rekkefølge.
Utførelsesmodell for skript
- Et skript starter vanligvis med en hendelsesblokk.
- Tilkoblede blokker kjøres fra topp til bunn.
- Flere skript kan kjøre parallelt.
- Meldings-/kringkastingsblokker brukes for å synkronisere skript.
- En blokkstabel er en sekvens av sammenkoblede blokker.
Data og verdier
- Rapportørblokker kan brukes inne i kommando- og betingelsesfelt.
- Variabler lagrer gjenbrukbare verdier på tvers av blokker og skript.
- Lister lagrer ordnede samlinger for historikk, køer og oppslag.
Hendelser og timing
- Hendelsesblokker reagerer på brukerinput, hub-status, sensorer eller meldinger.
- Tids- og sensorbaserte hendelser kan trigges ofte.
- Bruk terskler, filtrering eller korte pauser for å redusere støy fra gjentatte triggere.
Hub, porter og kontrollere
- Hub-blokker opererer på hub- og portkontekst.
- Noen blokker er kun tilgjengelige for spesifikke hub-typer/enheter.
- Dashboard- og gamepad-blokker gir runtime-input og UI-kontroll.
Anbefalt arbeidsflyt
- Start med én hendelsesblokk og et minimalt skript.
- Verifiser motor-/sensorretning og verdiområder tidlig.
- Gjenbruk logikk med meldinger og hjelpeskript.
- Legg til sikkerhetsmekanismer (grenser, stopp, fallback-verdier) før finjustering.
Vanlige fallgruver
- Manglende startblokk gjør at skriptet aldri starter.
- Feil hub-/portvalg gir ingen synlig effekt.
- Blanding av verdityper (tekst/tall/boolsk) kan gi ugyldig logikk.
- Høyfrekvente hendelser uten filtrering kan overbelaste systemet.
Dokumentasjonsstruktur i denne seksjonen
Bruk kategorisider i denne rekkefølgen:
- Lys
- Motorer
- Sensorer
- Hendelser
- Kontroll
- Operatorer
- Variabler
- Lister
- Mine blokker
- Dashboard-kontrollere
- Gamepad