Ellenőrzés#

Bevezetés#

A VEXcode VR vezérlőblokkjai a projekt folyamatát irányítják ciklusok, feltételek és a blokkok futtatásának késleltetésével.

Egy ciklus azt jelenti, hogy egy számítógép ugyanazt a lépést vagy lépéscsoportot ismétli újra és újra, amíg utasítást nem kap a leállításra. A feltétel egy olyan szabály, amelyet a számítógép ellenőrzi, hogy eldöntse, mit tegyen ezután. Például egy robot előre tud haladni, ha egy érzékelő egy tárgyat érzékel.

Az alábbiakban a rendelkezésre álló blokkok listája található:

  • wait – Meghatározott ideig szünetelteti a blokkok futását.

  • várjon addig, amíg – Szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül.

  • repeat – Meghatározott számú alkalommal ismétel meg egy blokkkészletet.

  • forever – Blokkhalmazt ismétel határozatlan ideig.

  • ismétlésig – Ismétel egy blokkhalmazt, amíg egy feltétel nem teljesül.

  • while – Megismétli a blokkok egy halmazát, amíg egy feltétel igaz marad.

  • if – Blokkhalmazt futtat, ha egy feltétel igaz.

  • if / else – Egy blokkkészletet futtat, ha egy feltétel igaz, egyébként egy másikat.

  • if / else if / else – Különböző blokkkészleteket futtat több feltételtől függően.

  • break – Azonnal kilép a repeat, forever, repeat until vagy while ciklusból.

  • projekt leállítása – Befejezi a projektet.

Várjon#

A várakozás veremblokk egy meghatározott időre szünetelteti a blokkok futását, mielőtt a következő blokkra lépne.

várakozó veremblokk#
várakozás (1) másodpercig

Paraméterek

Leírás

idő

A várakozási idő pozitív egész számként vagy tizedes törtként másodpercben.

Példa

Indításkor egy másodpercig előre mozog, majd minden mozgás leáll.#
amikor elindul :: hat events
[Move forward for one second, then stop.]
hajtás [előre v]
várakozás (1) másodpercig
hajtás leállítása

várj, amíg#

A várakozás amíg veremblokk szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül, mielőtt a következő blokkra lépne.

várjon, amíg a veremblokk#
várakozás amíg <>

Paraméterek

Leírás

állapot

A feltétel, amelynek teljesülnie kell, mielőtt továbblépnénk a következő blokkra.

Példa

Indításkor előre mozog, amíg a képernyőt meg nem nyomják, majd minden mozgás leáll.#
amikor elindul :: hat events
[Move forward until a button is pressed, then stop.]
hajtás [előre v]
várakozás amíg <[LeftBumper v] megnyomva?>
hajtás leállítása

ismétlés#

A ismétlés C blokk a benne lévő blokkokat meghatározott számú alkalommal futtatja le.

ismételje meg a C blokkot#
ismétlés [10]
vége

Paraméterek

Leírás

alkalommal

Egy egész szám, amely meghatározza, hogy hányszor fusson le az ismétlés blokk.

Példa

amikor elindul :: hat events
[Move in a square path.]
ismétlés [4]
hajtás [előre v] irányba [150] [mm v] értékkel ▶
fordulás [jobbra v] irányba [90] fokkal ▶
vége

örökre#

Az örökké C blokk újra és újra lefuttatja a benne lévő blokkokat megállás nélkül.

örökké C blokk#
örökre
vége

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor folyamatosan, négyzet alakú pályán mozog, 50 mm-t előre haladva és 90 fokkal jobbra fordulva egy végtelen ciklusban.#
amikor elindul :: hat events
[Move in a square path forever.]
örökre
hajtás [előre v] irányba [150] [mm v] értékkel ▶
fordulás [jobbra v] irányba [90] fokkal ▶
vége

ismételd, amíg#

Az ismétlésig C blokk a benne lévő blokkokat ismételten lefuttatja, amíg a megadott feltétel nem teljesül.

ismételd a blokkig#
ismétlés amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Hamis, a blokkok ismétlődnek. Ha Igaz, a ciklus leáll.

Példa

Indításkor az összes LED pirosan világít, amíg a képernyőt meg nem nyomjuk, majd kikapcsol.#
amikor elindul :: hat events
[Move the pen until the bumper is pressed.]
hajtás [előre v]
ismétlés amíg <[LeftBumper v] megnyomva?>
toll mozgatása [le v]
várakozás (0.5) másodpercig
toll mozgatása [fel v]
várakozás (0.5) másodpercig
vége
várakozás (0.5) másodpercig
hajtás leállítása

míg#

A while C blokk ismételten lefuttatja a benne lévő blokkokat, amíg a megadott feltétel teljesül.

míg a c blokk#
amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Igaz, a blokkok ismétlődnek. Ha Hamis, a ciklus leáll.

Példa

Indításkor 200 mm-t előre mozog, miközben minden LED zölden világít. A LED-ek a mozgás leállása után kialszanak.#
amikor elindul :: hat events
[Display a message while moving.]
hajtás [előre v] irányba [300] [mm v] értékkel ◀ és ne várjon
amíg <hajtás mozog?>
[Moving...] nyomtatása ▶
várakozás (0.1) másodpercig
összes sor törlése
vége
[Done!] nyomtatása ▶

ha#

Az ha C blokk lefuttatja a benne lévő blokkokat, ha a feltétel Igaz.

ha blokk#
ha <> akkor
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a program az utasítás futtatásakor ellenőriz. Ha Igaz, akkor az hamis blokkon belüli blokkok futnak le. Ha Hamis, akkor a blokkok átugranak.

Példa

Indításkor folyamatosan ellenőrzi, hogy megnyomták-e a képernyőt. Ha megnyomják, a robot közepes erővel rúg egy tárgyat.#
amikor elindul :: hat events
[Turn in a circle if the bumper is pressed.]
hajtás [előre v]
örökre
ha <[LeftBumper v] megnyomva?> akkor
hajtás [hátra v] irányba (200) [mm v] értékkel ▶
fordulás [jobbra v] irányba (360) fokkal ▶
vége
hajtás leállítása
vége

ha / máskülönben#

Az if / else C blokk határozza meg, hogy mely blokkok futnak le az alapján, hogy a feltétel Igaz vagy Hamis.

ha akkor különben blokkol#
ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a művelet futtatásakor ellenőriz a rendszer. Ha Igaz, akkor az hamis blokkban lévő blokkok fognak lefutni. Ha Hamis, akkor az más blokkban lévő blokkok fognak lefutni.

Példa

Indításkor folyamatosan ellenőrzi, hogy megnyomták-e a képernyőt. Megnyomásakor egy izgatott, előre tekintő emojit jelenít meg; egyébként egy unott, előre tekintő emojit.#
amikor elindul :: hat events
[If bumper pressed, reverse and turn right.]
örökre
ha <[LeftBumper v] megnyomva?> akkor
hajtás [hátra v] irányba (100) [mm v] értékkel ▶
fordulás [jobbra v] irányba (90) fokkal ▶
különben
hajtás [előre v]
vége

ha / különben ha / különben#

Az if / else if / else bővíthető C blokk a feltételek alapján választja ki, hogy mely blokkok fussanak:

  • Az ha függvény lefuttatja a kódblokkját, ha a feltétel Igaz értéket ad ki.

  • Az else if csak akkor ellenőrzi a további feltételeket, ha az összes korábbi feltétel Hamis-nak lett kiértékelve. Több else if utasítás is használható.

  • Az else függvény csak akkor futtatja le a kódblokkját, ha az előző feltételek egyike sem értékelődött ki Igaz-ként.

ha másképp ha másképp blokk#
ha <> akkor
különben ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a rendszer ellenőriz az utasítás futtatásakor. Az első feltétel, amely Igaz, lefuttatja a blokkok adott halmazát. Ha minden feltétel Hamis-ként értékelődik, akkor az más blokkon belüli blokkok fognak lefutni.

Példa

Amikor a vezérlő 1. tengelyének helyzete megváltozik, előre tolásra előre mozdul, hátrahúzásra hátrafelé mozdul, és semleges állásban megáll.#
amikor elindul :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
örökre
ha <[FrontEye v] észleli [piros v]?> akkor
fordulás [jobbra v] irányba (90) fokkal ▶
különben ha <[FrontEye v] észleli [zöld v]?> akkor
fordulás [balra v] irányba (90) fokkal ▶
különben
hajtás [előre v]
vége
vége

szünet#

A break veremblokk azonnal kilép a ciklusból. Ez a blokk használható a repeat, repeat until, while és forever blokkokon belül. A Break akkor hasznos, ha egy ciklust korábban le kell állítani valamilyen, a projekt során történt esemény miatt, például egy gomb megnyomása vagy egy érzékelő által érzékelt objektum miatt.

törési veremblokk#
megszakítás

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor a LED-ek piros és zöld színnel villognak 0,5 másodpercenként, amíg a képernyőt meg nem nyomják, majd leáll.#
amikor elindul :: hat events
[Stop turning after a button is pressed.]
örökre
hajtás [előre v]
ha <[LeftBumper v] megnyomva?> akkor
megszakítás
vége
vége
hajtás leállítása

projekt leállítása#

A projekt leállítása veremblokk leállítja a futó projektet.

projektblokk leállítása#
projekt leállítása

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor a LED-ek pirosan és zölden villognak 0,5 másodpercenként, amíg a képernyőt meg nem nyomják, majd leállítja a projektet.#
amikor elindul :: hat events
[Stop the project entirely after a button is pressed.]
örökre
hajtás [előre v]
ha <[LeftBumper v] megnyomva?> akkor
projekt leállítása
vége
vége