Valdymas#

Įvadas#

„VEXcode VR“ valdymo blokai valdo projekto eigą, tvarkydami ciklus, sąlygas ir atidėdami blokų vykdymą.

Ciklas yra tada, kai kompiuteris kartoja tą patį veiksmą arba veiksmų grupę vėl ir vėl, kol jam nurodoma sustoti. Sąlyga yra taisyklė, kurią kompiuteris tikrina, kad nuspręstų, ką daryti toliau. Pavyzdžiui, robotas gali judėti į priekį, jei jutiklis aptinka objektą.

Žemiau pateikiamas galimų blokų sąrašas:

  • laukti – Pristabdo blokų vykdymą tam tikram laikotarpiui.

  • laukti iki – Sustabdo blokų vykdymą, kol įvykdoma nurodyta sąlyga.

  • repeat – Pakartoja blokų rinkinį tam tikrą skaičių kartų.

  • forever – Kartoja blokų rinkinį neribotą laiką.

  • repeat until – Kartoja blokų rinkinį, kol įvykdoma sąlyga.

  • while – Kartoja blokų rinkinį, kol sąlyga lieka teisinga.

  • if – Paleidžia blokų rinkinį, jei sąlyga yra teisinga.

  • if / else – Paleidžia vieną blokų rinkinį, jei sąlyga teisinga, kitu atveju – kitą.

  • if / else if / else – Paleidžia skirtingus blokų rinkinius, atsižvelgdami į kelias sąlygas.

  • break – Nedelsiant išeina iš repeat, forever, repeat until arba while ciklo.

  • stop project – Baigia projektą.

laukti#

Laukimo blokas pristabdo blokų vykdymą tam tikram laikui, prieš pereinant prie kito bloko.

laukimo kamino blokas#
laukti (1) sekundžių

Parametrai

Aprašymas

laikas

Laukimo laikas, nurodytas kaip teigiamas sveikasis skaičius arba dešimtainė trupmena sekundėmis.

Pavyzdys

Pajudėjęs juda į priekį vieną sekundę, o tada sustoja.#
kai pradėta :: hat events
[Move forward for one second, then stop.]
važiuoti [pirmyn v]
laukti (1) sekundžių
sustabdyti važiavimą

laukti, kol#

Stekavimo blokas laukti, kol pristabdo blokų vykdymą, kol įvykdoma nurodyta sąlyga prieš pereinant prie kito bloko.

palaukite, kol bus blokuojamas krūvos blokas#
laukti kol <>

Parametrai

Aprašymas

būklė

Sąlyga, kurią reikia įvykdyti prieš pereinant prie kito bloko.

Pavyzdys

Paleidus, juda į priekį, kol paspaudžiamas ekranas, tada sustoja visas judėjimas.#
kai pradėta :: hat events
[Move forward until a button is pressed, then stop.]
važiuoti [pirmyn v]
laukti kol <[LeftBumper v] paspaustas?>
sustabdyti važiavimą

kartoti#

Pakartojimo C blokas atkartoja jame esančius blokus nustatytą skaičių kartų.

pakartokite C bloką#
kartoti [10]
pabaiga

Parametrai

Aprašymas

kartus

Sveikasis skaičius, nustatantis, kiek kartų bus kartojamas blokas pakartoti.

Pavyzdys

kai pradėta :: hat events
[Move in a square path.]
kartoti [4]
važiuoti [pirmyn v] per [150] [mm v] ▶
sukti [dešinėn v] per [90] laipsnių ▶
pabaiga

amžinai#

Amžinai veikiantis C blokas be perstojo paleidžia jame esančius blokus vėl ir vėl.

amžinai C blokas#
amžinai
pabaiga

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus, nuolat juda kvadratine trajektorija, judėdamas į priekį 50 mm ir pasisukdamas į dešinę 90 laipsnių kampu begalinėje kilpoje.#
kai pradėta :: hat events
[Move in a square path forever.]
amžinai
važiuoti [pirmyn v] per [150] [mm v] ▶
sukti [dešinėn v] per [90] laipsnių ▶
pabaiga

kartoti, kol#

C blokas kartoti iki pakartotinai vykdo jame esančius blokus, kol neįvykdoma nurodyta sąlyga.

kartoti iki bloko#
kartoti kol <>
pabaiga

Parametrai

Aprašymas

būklė

Išraiška arba kintamasis, kuris tikrinamas prieš kiekvieną ciklą. Jei jis yra Klaidingas, blokai kartojasi toliau. Jei jis yra Teisinga, ciklas sustos.

Pavyzdys

Įjungus, visi šviesos diodai šviečia raudonai, kol paspaudžiamas ekranas, tada jie užgęsta.#
kai pradėta :: hat events
[Move the pen until the bumper is pressed.]
važiuoti [pirmyn v]
kartoti kol <[LeftBumper v] paspaustas?>
judinti rašiklį [žemyn v]
laukti (0.5) sekundžių
judinti rašiklį [aukštyn v]
laukti (0.5) sekundžių
pabaiga
laukti (0.5) sekundžių
sustabdyti važiavimą

kol#

while C bloke esantys blokai kartojasi, kol tenkinama nurodyta sąlyga.

kol C blokas#
kol <>
pabaiga

Parametrai

Aprašymas

būklė

Išraiška arba kintamasis, kuris tikrinamas prieš kiekvieną ciklą. Jei jis yra True, blokai toliau kartojasi. Jei False, ciklas sustos.

Pavyzdys

Pajudėjęs juda 200 mm į priekį, visiems šviesos diodams paliekant žalius. Šviesos diodai užgęsta judėjimui sustojus.#
kai pradėta :: hat events
[Display a message while moving.]
važiuoti [pirmyn v] per [300] [mm v] ◀ ir nelaukti
kol <važiuoja?>
spausdinti [Moving...] ▶
laukti (0.1) sekundžių
išvalyti visas eilutes
pabaiga
spausdinti [Done!] ▶

jei#

C blokas if vykdo jame esančius blokus, jei sąlyga yra True.

jei blokas#
jei <> tada
pabaiga

Parametrai

Aprašymas

būklė

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, bus vykdomi blokai if bloke. Jei jis yra False, blokai praleidžiami.

Pavyzdys

Paleidus, nuolat tikrina, ar paspaustas ekranas. Paspaudus, robotas vidutine jėga spiria į objektą.#
kai pradėta :: hat events
[Turn in a circle if the bumper is pressed.]
važiuoti [pirmyn v]
amžinai
jei <[LeftBumper v] paspaustas?> tada
važiuoti [atgal v] per (200) [mm v] ▶
sukti [dešinėn v] per (360) laipsnių ▶
pabaiga
sustabdyti važiavimą
pabaiga

jei / kitaip#

C blokas if / else nustato, kuris blokų rinkinys vykdomas, atsižvelgiant į tai, ar sąlyga yra True, ar False.

jei tada kitaip blokuoti#
jei <> tada
kitu atveju
pabaiga

Parametrai

Aprašymas

būklė

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, bus vykdomi blokai if bloke. Jei False, bus vykdomi blokai else bloke.

Pavyzdys

Paleidus, nuolat tikrina, ar ekranas paspaustas. Paspaudus rodoma susijaudinusi ir laukianti jaustuko piktograma; priešingu atveju rodoma nuobodžiaujanti ir laukianti jaustuko piktograma.#
kai pradėta :: hat events
[If bumper pressed, reverse and turn right.]
amžinai
jei <[LeftBumper v] paspaustas?> tada
važiuoti [atgal v] per (100) [mm v] ▶
sukti [dešinėn v] per (90) laipsnių ▶
kitu atveju
važiuoti [pirmyn v]
pabaiga

jei / kitaip jei / kitaip#

Išplečiamas C blokas if / else if / else pasirenka, kuris blokų rinkinys bus vykdomas pagal sąlygas:

  • if vykdo savo kodo bloką, jei sąlyga įvertinama kaip True.

  • else if tikrina papildomas sąlygas tik tuo atveju, jei visos ankstesnės sąlygos įvertintos kaip False. Galima naudoti kelis else if teiginius.

  • else vykdo savo kodo bloką tik tuo atveju, jei nė viena iš ankstesnių sąlygų nebuvo įvertinta kaip True.

jei kitaip jei kitaip blokuoti#
jei <> tada
kitu atveju jei <> tada
kitu atveju
pabaiga

Parametrai

Aprašymas

būklė

Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Pirmoji sąlyga, kuri yra True, paleidžia tą blokų rinkinį. Jei visos sąlygos įvertinamos kaip False, bus paleisti blokai, esantys else bloke.

Pavyzdys

Kai valdiklio 1 ašies padėtis pasikeičia, stumiama į priekį juda į priekį, traukiama atgal juda atgal ir sustoja neutralioje padėtyje.#
kai pradėta :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
amžinai
jei <[FrontEye v] aptinka [raudona v]?> tada
sukti [dešinėn v] per (90) laipsnių ▶
kitu atveju jei <[FrontEye v] aptinka [žalia v]?> tada
sukti [kairėn v] per (90) laipsnių ▶
kitu atveju
važiuoti [pirmyn v]
pabaiga
pabaiga

pertrauka#

Pertraukos blokas iš karto išeina iš ciklo. Šį bloką galima naudoti repeat, repeat until, while ir forever blokų viduje. Pertraukos blokas naudingas, kai ciklą reikia sustabdyti anksčiau dėl kažko, kas įvyksta projekto metu, pavyzdžiui, paspaudus mygtuką arba jutikliui aptikus objektą.

pertraukos kamino blokas#
pertraukti

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Įjungus, šviesos diodai mirksi raudonai ir žaliai kas 0,5 sekundės, kol paspaudžiamas ekranas, tada nustoja mirksėti.#
kai pradėta :: hat events
[Stop turning after a button is pressed.]
amžinai
važiuoti [pirmyn v]
jei <[LeftBumper v] paspaustas?> tada
pertraukti
pabaiga
pabaiga
sustabdyti važiavimą

sustabdyti projektą#

Blokas „stop project“ užbaigia vykdomą projektą.

sustabdyti projekto bloką#
sustabdyti projektą

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus, šviesos diodai mirksi raudonai ir žaliai kas 0,5 sekundės, kol paspaudžiamas ekranas, tada projektas sustabdomas.#
kai pradėta :: hat events
[Stop the project entirely after a button is pressed.]
amžinai
važiuoti [pirmyn v]
jei <[LeftBumper v] paspaustas?> tada
sustabdyti projektą
pabaiga
pabaiga