Přejít na hlavní obsah

Úvod do Bloků

MOCPilot používá vizuální systém blokového programování, který vzhledem i chováním připomíná Scratch. Každý blok má konkrétní roli a platné kombinace určují řízení toku i toku dat ve skriptu. Využívá logiku přetahování a interakční vzory podobné Scratchi, aby bylo vytváření programů pohodlné a známé.

Upozornění na kompatibilitu

Jde o odlišný blokový systém s vlastní sadou bloků a vlastním chováním. Programy MOCPilot nejsou kompatibilní s projekty Scratch: programy MOCPilot nelze importovat do Scratch a programy Scratch nelze importovat do MOCPilot.

Tvary bloků a jejich význam

Startovní bloky (Hat)

block_event_when_program_started.svgblock_event_when.svg

Spustí skript při výskytu konkrétní události. Další bloky lze připojit pouze pod něj.


Příkazové bloky (Stack)

block_control_wait_for.svgblock_sensors_timer_reset.svg

Hlavní příkazové bloky, které provádějí akce.


C bloky

block_control_if.svgblock_control_if_else.svg

Řídicí bloky tvaru C, které obsahují vnořené blokové sekvence (cykly/podmínky).


Reportovací bloky (Reporter)

block_sensors_timer_value_float.svgblock_operator_math_single.svg

Vrací hodnoty, například čísla nebo text.


Booleovské bloky

block_operator_equal.svgblock_operator_string_contains.svg

Vrací pouze true nebo false, obvykle se používají v podmínkách.


Ukončovací bloky (Cap)

block_control_stop.svgblock_control_repeat_forever.svg

Ukončí skript a neumožní připojení bloků pod sebe.


Bloková sekvence

blocks_stack.svg

Bloková sekvence je řada propojených bloků, která běží jako jeden tok skriptu shora dolů. Sekvence obvykle začíná událostním blokem a následně provádí připojené bloky v daném pořadí.


Model běhu skriptu

  • Skript obvykle začíná událostním blokem.
  • Propojené stack bloky se spouštějí shora dolů.
  • Více skriptů může běžet paralelně.
  • Pro synchronizaci skriptů se používají bloky zpráv/vysílání.
  • Bloková sekvence je sada bloků propojených dohromady.

Data a hodnoty

  • Reportovací bloky lze vnořovat do vstupů příkazů/podmínek.
  • Proměnné ukládají znovu použitelné hodnoty napříč bloky a skripty.
  • Seznamy ukládají uspořádané kolekce pro historii, fronty a vyhledávací data.

Události a časování

  • Událostní bloky reagují na vstup uživatele, stav hubu, senzory nebo zprávy.
  • Události založené na časovači a senzorech se mohou spouštět často.
  • Pro omezení rušivých opakovaných spuštění používejte prahy, filtrování nebo krátké čekání.

Hub, porty a ovladače

  • Hub bloky pracují v kontextu hubu a portu.
  • Některé bloky jsou dostupné jen pro konkrétní rodiny hubů/zařízení.
  • Bloky dashboardu a gamepadu poskytují vstupy za běhu a ovládání UI.

Doporučený postup

  1. Začněte jedním událostním blokem a minimálním skriptem.
  2. Včas ověřte směr a rozsahy motorů/senzorů.
  3. Opakovanou logiku oddělte pomocí zpráv a pomocných skriptů.
  4. Před finálním laděním přidejte ochrany (limity, zastavení, záložní hodnoty).

Časté chyby

  • Chybějící vstupní událostní blok znamená, že se skript nikdy nespustí.
  • Špatně zvolený hub/port způsobí, že neuvidíte žádný efekt.
  • Míchání typů hodnot (text/číslo/boolean) může vést k neplatné logice.
  • Události s vysokou frekvencí bez filtrování mohou přetížit chování programu.

Struktura dokumentace v této sekci

Používejte stránky kategorií v tomto pořadí:

  • Světla
  • Motory
  • Senzory
  • Události
  • Ovládání
  • Operátory
  • Proměnné
  • Seznamy
  • Moje bloky
  • Ovladače dashboardu
  • Gamepad