Introduktion Til Blokke
MOCPilot bruger et visuelt blokprogrammeringssystem, der ligner Scratch i både udseende og brug. Hver blok har en specifik rolle, og gyldige kombinationer definerer kontrolflow og dataflow i et script. Det bruger træk-og-slip-logik og Scratch-lignende interaktionsmønstre for at give en praktisk og velkendt måde at bygge programmer på.
Dette er et andet bloksystem med sit eget bloksæt og sin egen adfærd. MOCPilot-programmer er ikke kompatible med Scratch-projekter: MOCPilot-programmer kan ikke importeres til Scratch, og Scratch-programmer kan ikke importeres til MOCPilot.
Blokformer og betydning
Hat-blokke
Starter et script, når en bestemt hændelse opstår. Blokke kan kun sættes under.
Stak-blokke
Primære kommandoblokke, der udfører handlinger.
C-blokke
C-formede kontrolblokke, der indeholder indlejrede blokstakke (løkker/betingelser).
Reporter-blokke
Returnerer værdier som tal eller tekst.
Booleske blokke
Returnerer kun true eller false, typisk brugt i betingelser.
Afslutningsblokke
Afslutter scripts og tillader ikke blokke under.
Blokstak
En blokstak er en sekvens af forbundne blokke, der kører som ét samlet scriptflow fra top til bund. Stakke starter normalt med en hændelsesblok og udfører derefter de tilknyttede blokke i rækkefølge.
Script-udførelsesmodel
- Et script starter normalt fra en hændelsesblok.
- Forbundne stak-blokke kører fra top til bund.
- Flere scripts kan køre parallelt.
- Besked-/broadcast-blokke bruges til at synkronisere scripts.
- En blokstak er en sekvens af blokke, der er forbundet med hinanden.
Data og værdier
- Reporter-blokke kan indlejres i input til kommandoer/betingelser.
- Variabler gemmer genbrugelige værdier på tværs af blokke og scripts.
- Lister gemmer ordnede samlinger til historik, køer og opslag.
Hændelser og timing
- Hændelsesblokke reagerer på brugerinput, hub-tilstand, sensorer eller beskeder.
- Timer- og sensorbaserede hændelser kan udløses ofte.
- Brug tærskler, filtrering eller korte ventetider for at reducere støjende gentagne triggere.
Hub, porte og controllere
- Hub-blokke målretter hub- og portkontekst.
- Nogle blokke er kun tilgængelige for specifikke hub-familier/enheder.
- Dashboard- og gamepad-blokke giver input under kørsel og UI-kontrol.
Anbefalet arbejdsgang
- Start med én hændelsesblok og et minimalt script.
- Bekræft tidligt motor-/sensorretning og intervaller.
- Udtræk gentaget logik med beskeder og hjælpescripts.
- Tilføj sikkerhedsforanstaltninger (grænser, stop, fallback-værdier) før endelig finjustering.
Almindelige faldgruber
- Manglende hændelses-startblok betyder, at scriptet aldrig starter.
- Forkert valg af hub/port giver ingen synlig effekt.
- Blandede værdi-typer (tekst/tal/boolean) kan give ugyldig logik.
- Højfrekvente hændelser uden filtrering kan overbelaste adfærden.
Dokumentationsstruktur i denne sektion
Brug kategorisider i denne rækkefølge:
- Lys
- Motorer
- Sensorer
- Hændelser
- Kontrol
- Operatorer
- Variabler
- Lister
- Mine Blokke
- Dashboard-controllere
- Gamepad