Řízení#
Zavedení#
Řídicí bloky ve VEXcode AIM řídí tok projektu zpracováním smyček, podmínek a zpožděním běhu bloků.
Smyčka je stav, kdy počítač opakuje stejný krok nebo skupinu kroků znovu a znovu, dokud nedostane pokyn k zastavení. Podmínka je pravidlo, které počítač kontroluje, aby se rozhodl, co dělat dál. Například robot se může pohybovat vpřed, pokud senzor detekuje objekt.
Níže je uveden seznam všech bloků:
wait — Pozastaví běh bloků na určitou dobu.
čekej do — Pozastaví běh bloků, dokud není splněna zadaná podmínka.
opakovat — Opakuje sadu bloků zadaný počet opakování.
forever — Opakuje sadu bloků donekonečna.
opakovat do — Opakuje sadu bloků, dokud není splněna podmínka.
while — Opakuje sadu bloků, dokud je podmínka pravdivá.
if — Spustí sadu bloků, pokud je podmínka pravdivá.
if / else — Spustí jednu sadu bloků, pokud je podmínka pravdivá, jinak spustí jinou.
if / else if / else — Spouští různé sady bloků v závislosti na více podmínkách.
break — Okamžitě ukončí smyčku repeat, forever, repeat until nebo while.
zastavit projekt — Ukončí projekt.
Počkejte#
Zásobníkový blok wait pozastaví běh bloků na určitou dobu, než se přejde k dalšímu bloku.
čekat (1) sekund
Parametry |
Popis |
|---|---|
čas |
Doba čekání v sekundách, vyjádřená jako kladné celé číslo nebo desetinné číslo. |
Příklad
při spuštění
[Move forward for one second, then stop.]
pohybovat [dopředu v]
čekat (1) sekund
zastavit veškerý pohyb
počkat až#
Blok wait until pozastaví běh bloků, dokud není splněna zadaná podmínka, než se přejde k dalšímu bloku.
čekat dokud <>
Parametry |
Popis |
|---|---|
stav |
Podmínka, která musí být splněna před přechodem na další blok. |
Příklad
při spuštění
[Move forward until screen pressed, then stop.]
pohybovat [dopředu v]
čekat dokud <obrazovka stisknuta?>
zastavit veškerý pohyb
opakovat#
Blok repeat C spouští bloky uvnitř stanovené množstvíkrát.
opakovat [10]
konec
Parametry |
Popis |
|---|---|
krát |
Celé číslo, které určuje, kolikrát se blok opakuje. |
Příklad
při spuštění
[Move in a square path.]
opakovat [4]
pohybovat [dopředu v] na [50] [mm v] ▶
otočit [vpravo v] o [90] stupňů ▶
konec
navždy#
Blok C navždy neustále spouští bloky uvnitř sebe znovu a znovu bez zastavení.
navždy
konec
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění
[Move in a square path forever.]
navždy
pohybovat [dopředu v] na [50] [mm v] ▶
otočit [vpravo v] o [90] stupňů ▶
konec
opakujte, dokud#
Blok opakovat dokud opakovaně spouští bloky uvnitř sebe, dokud není splněna zadaná podmínka.
opakovat dokud <>
konec
Parametry |
Popis |
|---|---|
stav |
Výraz nebo proměnná, která se kontroluje před každou smyčkou. Pokud je hodnota False, bloky se opakují. Pokud je hodnota True, smyčka se zastaví. |
Příklad
při spuštění
[Repeat until the screen is pressed before turning off the LEDs.]
opakovat dokud <obrazovka stisknuta?>
nastavit barvu LED [lightall v] na [červená v]
konec
nastavit barvu LED [lightall v] na [vypnuto v]
zatímco#
Blok while v C opakovaně spouští bloky uvnitř, dokud není splněna zadaná podmínka.
dokud <>
konec
Parametry |
Popis |
|---|---|
stav |
Výraz nebo proměnná, která se kontroluje před každou smyčkou. Pokud je hodnota True, bloky se opakují. Pokud je hodnota False, smyčka se zastaví. |
Příklad
při spuštění
[Keep the LEDs green while the robot is moving.]
pohybovat [dopředu v] na [200] [mm v] ◀ a nečekat
dokud <pohyb aktivní?>
nastavit barvu LED [lightall v] na [zelená v]
konec
nastavit barvu LED [lightall v] na [vypnuto v]
-li#
Blok if C spustí bloky uvnitř, pokud je podmínka True.
pokud <> pak
konec
Parametry |
Popis |
|---|---|
stav |
Výraz nebo proměnná, která se kontroluje při spuštění příkazu. Pokud je hodnota True, bloky uvnitř bloku if se spustí. Pokud je hodnota False, bloky se přeskočí. |
Příklad
při spuštění
[Kick when the screen is pressed.]
navždy
pokud <obrazovka stisknuta?> pak
kopnout objekt [střední v]
konec
konec
pokud / jinak#
Blok if / else v jazyce C určuje, která sada bloků se spustí na základě toho, zda je podmínka True nebo False.
pokud <> pak
jinak
konec
Parametry |
Popis |
|---|---|
stav |
Výraz nebo proměnná, která se kontroluje při spuštění příkazu. Pokud je hodnota True, spustí se bloky uvnitř bloku if. Pokud je hodnota False, spustí se bloky uvnitř bloku else. |
Příklad
při spuštění
[Show one emoji when the screen is touched and a different one when it's not.]
navždy
pokud <obrazovka stisknuta?> pak
zobrazit [emoji_excited v] hledící [dopředu v]
jinak
zobrazit [emoji_bored v] hledící [dopředu v]
konec
konec
pokud / jinak pokud / jinak#
Rozšiřitelný blok C if / else if / else vybírá, která sada bloků se spustí na základě podmínek:
Funkce if spustí svůj blok kódu, pokud je podmínka vyhodnocena jako True.
Funkce else if kontroluje další podmínky pouze v případě, že všechny předchozí podmínky byly vyhodnoceny jako False. Lze použít více příkazů else if.
Funkce else spustí svůj blok kódu, pouze pokud žádná z předchozích podmínek není vyhodnocena jako True.
pokud <> pak
jinak pokud <> pak
jinak
konec
Parametry |
Popis |
|---|---|
stav |
Výraz nebo proměnná, která se kontroluje při spuštění příkazu. První podmínka, která je True, spustí danou sadu bloků. Pokud se všechny podmínky vyhodnotí jako False, spustí se bloky uvnitř bloku else. |
Příklad
když se změní osa ovladače [1 v]
[Move the robot forward or reverse based on the position of the joystick.]
pokud <(poloha osy ovladače [1 v]) [math_greater_than v] [0]> pak
pohybovat [dopředu v]
jinak pokud <(poloha osy ovladače [1 v]) [math_less_than v] [0]> pak
pohybovat [zpět v]
jinak
zastavit veškerý pohyb
konec
přerušení#
Blok break okamžitě ukončí smyčku. Tento blok lze použít uvnitř bloků repeat, repeat until, while a forever. Blok Break je užitečný, když je třeba smyčku předčasně ukončit na základě něčeho, co se stane během projektu, například stisknutí tlačítka nebo senzor detekující objekt.
přerušit
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění
[Flash LEDs until the screen is pressed.]
navždy
nastavit barvu LED [lightall v] na [červená v]
čekat [0.5] sekund
nastavit barvu LED [lightall v] na [zelená v]
čekat [0.5] sekund
pokud <obrazovka stisknuta?> pak
přerušit
konec
konec
zastavit projekt#
Blok zásobníku stop project ukončuje spuštěný projekt.
zastavit projekt
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění
[Stop the project once the screen is pressed.]
navždy
nastavit barvu LED [lightall v] na [červená v]
čekat [0.5] sekund
nastavit barvu LED [lightall v] na [zelená v]
čekat [0.5] sekund
pokud <obrazovka stisknuta?> pak
zastavit projekt
konec
konec