Kontrole#

Ievads#

VEXcode VR vadības bloki pārvalda projekta plūsmu, apstrādājot ciklus, nosacījumus un aizkavējot bloku izpildi.

Cikls ir tad, kad dators atkārto vienu un to pašu soli vai soļu grupu atkal un atkal, līdz tam tiek dota komanda apstāties. Nosacījums ir noteikums, ko dators pārbauda, ​​lai izlemtu, kas jādara tālāk. Piemēram, robots var pārvietoties uz priekšu, ja sensors konstatē objektu.

Zemāk ir pieejamo bloku saraksts:

  • wait – Aptur bloku darbību uz noteiktu laiku.

  • gaidīt līdz – Aptur bloku izpildi, līdz tiek izpildīts norādītais nosacījums.

  • repeat – Atkārto bloku kopu noteiktu reižu skaitu.

  • forever – Atkārto bloku kopu bezgalīgi.

  • atkārtot līdz – Atkārto bloku kopu, līdz tiek izpildīts nosacījums.

  • while – Atkārto bloku kopu, kamēr nosacījums paliek spēkā.

  • if – Izpilda bloku kopu, ja nosacījums ir patiess.

  • if / else – Izpilda vienu bloku komplektu, ja nosacījums ir patiess, pretējā gadījumā palaiž citu.

  • if / else if / else – Izpilda dažādus bloku komplektus atkarībā no vairākiem nosacījumiem.

  • break – Nekavējoties iziet no repeat, forever, repeat until vai while cikla.

  • apturēt projektu – Beidz projektu.

pagaidiet#

Gaidīšanas steka bloks uz noteiktu laiku aptur bloku darbību, pirms pāriet uz nākamo bloku.

gaidīšanas kaudzes bloks#
gaidīt (1) sekundes

Parametri

Apraksts

laiks

Gaidīšanas laiks, kas norādīts kā pozitīvs vesels skaitlis vai decimāldaļa sekundēs.

Piemērs

Kad tas ir iedarbināts, vienu sekundi pārvietojas uz priekšu, pēc tam apstājas visa kustība.#
kad sākts :: hat events
[Move forward for one second, then stop.]
braukt [uz priekšu v]
gaidīt (1) sekundes
pārtraukt braukšanu

pagaidiet, līdz#

Steka bloks gaidīt līdz aptur bloku darbību, līdz tiek izpildīts noteikts nosacījums pirms pāriešanas uz nākamo bloku.

pagaidiet, līdz kaudzes bloks#
gaidīt līdz <>

Parametri

Apraksts

stāvoklis

Nosacījums, kas jāizpilda, pirms pāriet uz nākamo bloku.

Piemērs

Pēc iedarbināšanas pārvietojas uz priekšu, līdz tiek nospiests ekrāns, pēc tam aptur visu kustību.#
kad sākts :: hat events
[Move forward until a button is pressed, then stop.]
braukt [uz priekšu v]
gaidīt līdz <[LeftBumper v] nospiests?>
pārtraukt braukšanu

atkārtot#

Atkārtošanas C bloks atkārto tajā esošos blokus noteiktu reižu skaitu.

atkārtojiet C bloku#
atkārtot [10]
beigas

Parametri

Apraksts

reizes

Vesels skaitlis, kas nosaka, cik reižu tiek izpildīts atkārtošanas bloks.

Piemērs

kad sākts :: hat events
[Move in a square path.]
atkārtot [4]
braukt [uz priekšu v] par [150] [mm v] ▶
griezties [pa labi v] par [90] grādiem ▶
beigas

uz visiem laikiem#

Mūžīgais C bloks turpina darbināt tajā esošos blokus atkal un atkal, neapstājoties.

mūžīgi c bloks#
mūžīgi
beigas

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Iedarbinātā stāvoklī nepārtraukti pārvietojas pa kvadrātveida trajektoriju, virzoties uz priekšu 50 mm un pagriežoties pa labi par 90 grādiem bezgalīgā cilpā.#
kad sākts :: hat events
[Move in a square path forever.]
mūžīgi
braukt [uz priekšu v] par [150] [mm v] ▶
griezties [pa labi v] par [90] grādiem ▶
beigas

atkārtojiet, līdz#

C bloks atkārtot līdz atkārtoti izpilda tajā esošos blokus, kamēr norādītais nosacījums nav izpildīts.

atkārtojiet līdz blokam#
atkārtot līdz <>
beigas

Parametri

Apraksts

stāvoklis

Izteiksme vai mainīgais, kas tiek pārbaudīts pirms katras cilpas. Ja tā ir False, bloki turpina atkārtoties. Ja tā ir True, cikls apstāsies.

Piemērs

Pēc ieslēgšanas visas gaismas diodes deg sarkanā krāsā, līdz tiek nospiests ekrāns, un pēc tam tās izslēdzas.#
kad sākts :: hat events
[Move the pen until the bumper is pressed.]
braukt [uz priekšu v]
atkārtot līdz <[LeftBumper v] nospiests?>
pārvietot pildspalvu [lejup v]
gaidīt (0.5) sekundes
pārvietot pildspalvu [augšup v]
gaidīt (0.5) sekundes
beigas
gaidīt (0.5) sekundes
pārtraukt braukšanu

kamēr#

while C blokā esošie bloki tiek atkārtoti palaisti, kamēr ir izpildīts norādītais nosacījums.

kamēr c bloks#
kamēr <>
beigas

Parametri

Apraksts

stāvoklis

Izteiksme vai mainīgais, kas tiek pārbaudīts pirms katras cilpas. Ja tā ir Patiesa, bloki turpina atkārtoties. Ja tā ir Aplama, cikls apstāsies.

Piemērs

Pēc iedarbināšanas pārvietojas uz priekšu 200 mm, visām gaismas diodēm saglabājot zaļu gaismu. Pēc kustības apstāšanās gaismas diodes nodziest.#
kad sākts :: hat events
[Display a message while moving.]
braukt [uz priekšu v] par [300] [mm v] ◀ un negaidīt
kamēr <braukšana aktīva?>
drukāt [Moving...] ▶
gaidīt (0.1) sekundes
notīrīt visas rindas
beigas
drukāt [Done!] ▶

ja#

C bloks if palaiž blokus iekšpusē, ja nosacījums ir True.

ja bloks#
ja <> tad
beigas

Parametri

Apraksts

stāvoklis

Izteiksme vai mainīgais, kas tiek pārbaudīts, kad izpilda priekšrakstu. Ja tas ir True, tiks izpildīti bloki if blokā. Ja tas ir False, bloki tiek izlaisti.

Piemērs

Ieslēgšanas brīdī nepārtraukti pārbauda, ​​vai ir nospiests ekrāns. Nospiežot pogu, robots ar vidēju spēku iesit objektam.#
kad sākts :: hat events
[Turn in a circle if the bumper is pressed.]
braukt [uz priekšu v]
mūžīgi
ja <[LeftBumper v] nospiests?> tad
braukt [atpakaļ v] par (200) [mm v] ▶
griezties [pa labi v] par (360) grādiem ▶
beigas
pārtraukt braukšanu
beigas

ja / citādi#

C bloks if / else nosaka, kurš bloku kopums tiek izpildīts, pamatojoties uz to, vai nosacījums ir True vai False.

ja tad citādi bloķēt#
ja <> tad
citādi
beigas

Parametri

Apraksts

stāvoklis

Izteiksme vai mainīgais, kas tiek pārbaudīts, kad izpilda priekšrakstu. Ja tas ir True, tiks izpildīti bloki if blokā. Ja tas ir False, tiks izpildīti bloki else blokā.

Piemērs

Startēšanas laikā nepārtraukti pārbauda, ​​vai ir nospiests ekrāns. Ja nospiests, tiek parādīta satraukta emocijzīme, kas gaida uz priekšu; pretējā gadījumā tiek parādīta garlaikota emocijzīme, kas gaida uz priekšu.#
kad sākts :: hat events
[If bumper pressed, reverse and turn right.]
mūžīgi
ja <[LeftBumper v] nospiests?> tad
braukt [atpakaļ v] par (100) [mm v] ▶
griezties [pa labi v] par (90) grādiem ▶
citādi
braukt [uz priekšu v]
beigas

ja / citādi ja / citādi#

Paplašināmais C bloks if / else if / else atlasa, kurš bloku komplekts tiks palaists, pamatojoties uz nosacījumiem:

  • if palaiž savu koda bloku, ja nosacījums tiek novērtēts kā True.

  • else if pārbauda papildu nosacījumus tikai tad, ja visi iepriekšējie nosacījumi ir novērtēti kā False. Var izmantot vairākus else if priekšrakstus.

  • else palaiž savu koda bloku tikai tad, ja neviens no iepriekšējiem nosacījumiem nav novērtēts kā True.

ja citādi, ja citādi bloķēt#
ja <> tad
citādi ja <> tad
citādi
beigas

Parametri

Apraksts

stāvoklis

Izteiksme vai mainīgais, kas tiek pārbaudīts, kad izpildās priekšraksts. Pirmais nosacījums, kas ir True, palaiž šo bloku kopu. Ja visi nosacījumi tiek novērtēti kā False, tiks izpildīti bloki else blokā.

Piemērs

Kad mainās regulatora 1. ass pozīcija, tā pārvietojas uz priekšu, ja to spiež uz priekšu, pārvietojas atpakaļgaitā, ja to velk atpakaļ, un apstājas neitrālā stāvoklī.#
kad sākts :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
mūžīgi
ja <[FrontEye v] atklāj [sarkans v]?> tad
griezties [pa labi v] par (90) grādiem ▶
citādi ja <[FrontEye v] atklāj [zaļš v]?> tad
griezties [pa kreisi v] par (90) grādiem ▶
citādi
braukt [uz priekšu v]
beigas
beigas

pārtraukums#

Steka bloks break nekavējoties iziet no cikla. Šo bloku var izmantot blokos repeat, repeat until, while un forever. Break ir noderīgs, ja cikls ir jāpārtrauc priekšlaicīgi, pamatojoties uz kaut ko, kas notiek projekta laikā, piemēram, pogas nospiešanu vai sensora noteikšanu.

pārtraukuma kaudzes bloks#
pārtraukt

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Ieslēgšanas brīdī gaismas diodes mirgo sarkanā un zaļā krāsā ik pēc 0,5 sekundēm, līdz tiek nospiests ekrāns, pēc tam apstājas.#
kad sākts :: hat events
[Stop turning after a button is pressed.]
mūžīgi
braukt [uz priekšu v]
ja <[LeftBumper v] nospiests?> tad
pārtraukt
beigas
beigas
pārtraukt braukšanu

apturēt projektu#

Steka bloks apturēt projektu aptur palaistu projektu.

apturēt projekta bloku#
apturēt projektu

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Pēc palaišanas gaismas diodes mirgo sarkanā un zaļā krāsā ik pēc 0,5 sekundēm, līdz tiek nospiests ekrāns, pēc tam projekts tiek apturēts.#
kad sākts :: hat events
[Stop the project entirely after a button is pressed.]
mūžīgi
braukt [uz priekšu v]
ja <[LeftBumper v] nospiests?> tad
apturēt projektu
beigas
beigas