Ohjaus#

Johdanto#

VEXcode AIM:n ohjauslohkot hallitsevat projektin kulkua käsittelemällä silmukoita, ehtoja ja viivästyttämällä lohkojen suorittamista.

Silmukka tarkoittaa, että tietokone toistaa samaa vaihetta tai vaiheryhmää yhä uudelleen ja uudelleen, kunnes sille annetaan käsky lopettaa. Ehto on sääntö, jota tietokone tarkistaa päättääkseen, mitä tehdä seuraavaksi. Esimerkiksi robotti voi liikkua eteenpäin, jos anturi havaitsee kohteen.

Alla on luettelo kaikista lohkoista:

  • wait — Keskeyttää lohkojen suorittamisen tietyksi ajaksi.

  • wait until — Keskeyttää lohkojen suorittamisen, kunnes määritetty ehto täyttyy.

  • repeat — Toistaa joukon lohkoja tietyn määrän kertoja.

  • forever — Toistaa joukon lohkoja loputtomiin.

  • toista kunnes — Toistaa joukon lohkoja, kunnes ehto täyttyy.

  • while — Toistaa joukon lohkoja niin kauan kuin ehto pysyy tosi.

  • if — Suorittaa joukon lohkoja, jos ehto on tosi.

  • if / else — Suorittaa yhden lohkojoukon, jos ehto on tosi, muuten toisen.

  • if / else if / else — Suorittaa erilaisia ​​lohkosarjoja useiden ehtojen perusteella.

  • break — Poistuu välittömästi repeat, forever, repeat until tai while -silmukasta.

  • lopeta projekti — Lopettaa projektin.

Odota#

Odota-pinolohko keskeyttää lohkojen suorittamisen tietyksi ajaksi ennen siirtymistä seuraavaan lohkoon.

odotuspinolohko#
odota (1) sekuntia

Parametrit

Kuvaus

aika

Odotusaika positiivisena kokonaislukuna tai desimaalilukuna sekunteina.

Esimerkki

Käynnistettynä liikkuu eteenpäin yhden sekunnin ja pysäyttää sitten kaiken liikkeen.#
kun käynnistetään
[Move forward for one second, then stop.]
liiku [eteenpäin v]
odota (1) sekuntia
pysäytä kaikki liike

odota kunnes#

Odota kunnes -pinolohko keskeyttää lohkojen suorittamisen, kunnes määritetty ehto täyttyy ennen siirtymistä seuraavaan lohkoon.

odota, kunnes pinolohko#
odota kunnes <>

Parametrit

Kuvaus

kunto

Ehto, joka on täytettävä ennen siirtymistä seuraavaan lohkoon.

Esimerkki

Käynnistyksen jälkeen liikkuu eteenpäin, kunnes näyttöä painetaan, minkä jälkeen liike pysähtyy.#
kun käynnistetään
[Move forward until screen pressed, then stop.]
liiku [eteenpäin v]
odota kunnes <näyttö painettu?>
pysäytä kaikki liike

toistaa#

Repeat C-lohkossa sen sisällä olevat lohkot suoritetaan tietyn määrän kertoja.

toista C-lohkoa#
toista [10]
Loppu

Parametrit

Kuvaus

kertaa

Kokonaisluku, joka määrittää, kuinka monta kertaa toisto-lohko suoritetaan.

Esimerkki

kun käynnistetään
[Move in a square path.]
toista [4]
liiku [eteenpäin v] [50] [mm v] ▶
käänny [oikealle v] [90] astetta ▶
Loppu

ikuisesti#

Ikuisesti toimiva C-lohko jatkaa sisällään olevien palikoiden pyörittämistä yhä uudelleen ja uudelleen pysähtymättä.

ikuisesti C-lohko#
ikuisesti
Loppu

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

Käynnistettynä liikkuu jatkuvasti neliön muotoista rataa pitkin siirtymällä eteenpäin 50 mm ja kääntymällä oikealle 90 astetta äärettömässä silmukassa.#
kun käynnistetään
[Move in a square path forever.]
ikuisesti
liiku [eteenpäin v] [50] [mm v] ▶
käänny [oikealle v] [90] astetta ▶
Loppu

toista, kunnes#

C-lohko toista kunnes suorittaa sen sisällä olevia lohkoja toistuvasti, kunnes määritetty ehto ei täyty.

toista, kunnes lohko#
toista kunnes <>
Loppu

Parametrit

Kuvaus

kunto

Lauseke tai muuttuja, joka tarkistetaan ennen jokaista silmukkaa. Jos se on Epätosi, lohkot toistuvat edelleen. Jos se on Tosi, silmukka pysähtyy.

Esimerkki

Käynnistyksen jälkeen pitää kaikki LEDit punaisina, kunnes näyttöä painetaan, ja sammuttaa ne sitten.#
kun käynnistetään
[Repeat until the screen is pressed before turning off the LEDs.]
toista kunnes <näyttö painettu?>
aseta [lightall v] LED-väri [punainen v]
Loppu
aseta [lightall v] LED-väri [pois v]

samalla kun#

while C-lohkossa suoritetaan sen sisällä olevia lohkoja toistuvasti niin kauan kuin määritetty ehto täyttyy.

kun taas C-lohko#
kun <>
Loppu

Parametrit

Kuvaus

kunto

Lauseke tai muuttuja, joka tarkistetaan ennen jokaista silmukkaa. Jos se on Tosi, lohkot toistuvat edelleen. Jos se on Epätosi, silmukka pysähtyy.

Esimerkki

Käynnistettynä liikkuu 200 mm eteenpäin pitäen kaikki LEDit vihreinä. LEDit sammuvat liikkeen pysähtyessä.#
kun käynnistetään
[Keep the LEDs green while the robot is moving.]
liiku [eteenpäin v] [200] [mm v] ◀ eikä odota
kun <liike aktiivinen?>
aseta [lightall v] LED-väri [vihreä v]
Loppu
aseta [lightall v] LED-väri [pois v]

jos#

C-koodin if-lohko suorittaa sen sisällä olevat lohkot, jos ehto on True.

jos lohko#
jos <> niin
Loppu

Parametrit

Kuvaus

kunto

Lauseke tai muuttuja, jota tarkistetaan lausekkeen suorituksen yhteydessä. Jos se on Tosi, jos-lohkon sisällä olevat lohkot suoritetaan. Jos se on Epätosi, lohkot ohitetaan.

Esimerkki

Käynnistyksen yhteydessä tarkistaa jatkuvasti, onko näyttöä painettu. Jos näyttöä painetaan, robotti potkaisee esinettä keskivoimakkaasti.#
kun käynnistetään
[Kick when the screen is pressed.]
ikuisesti
jos <näyttö painettu?> niin
potkaise objektia [keskikokoinen v]
Loppu
Loppu

jos / muuten#

C-komennon if / else-lohko määrittää suoritettavan lohkojoukon sen perusteella, onko ehto Tosi vai Epätosi.

jos sitten muuten lohko#
jos <> niin
muuten
Loppu

Parametrit

Kuvaus

kunto

Lauseke tai muuttuja, jota tarkistetaan lausekkeen suorituksen yhteydessä. Jos se on Tosi, jos-lohkon sisällä olevat lohkot suoritetaan. Jos se on Epätosi, muuten-lohkon sisällä olevat lohkot suoritetaan.

Esimerkki

Käynnistyksen yhteydessä tarkistaa jatkuvasti, onko näyttöä painettu. Painettaessa näyttää innostuneen ja eteenpäin katsovan emojin; muussa tapauksessa näyttää tylsistyneen ja eteenpäin katsovan emojin.#
kun käynnistetään
[Show one emoji when the screen is touched and a different one when it's not.]
ikuisesti
jos <näyttö painettu?> niin
näytä [emoji_excited v] katsomassa [eteenpäin v]
muuten
näytä [emoji_bored v] katsomassa [eteenpäin v]
Loppu
Loppu

jos / muuten jos / muuten#

Laajennettava C-lohko if / else if / else valitsee ehtojen perusteella suoritettavan lohkojoukon:

  • if suorittaa koodilohkonsa, jos ehto arvioidaan arvoksi True.

  • else if tarkistaa lisäehdot vain, jos kaikki edelliset ehdot ovat arvioitu epätosiksi. Useita else if -lausekkeita voidaan käyttää.

  • else suorittaa koodilohkonsa vain, jos mikään edellisistä ehdoista ei ole Tosi.

jos muuten jos muuten lohko#
jos <> niin
muuten jos <> niin
muuten
Loppu

Parametrit

Kuvaus

kunto

Lauseke tai muuttuja, jota tarkistetaan lausekkeen suorituksen yhteydessä. Ensimmäinen ehto, joka on Tosi, suorittaa kyseisen lohkojoukon. Jos kaikki ehdot arvioidaan arvoon Epätosi, muuten-lohkon sisällä olevat lohkot suoritetaan.

Esimerkki

Kun ohjaimen akselin 1 asento muuttuu, se liikkuu eteenpäin työnnettäessä, liikkuu taaksepäin vedettäessä ja pysähtyy vapaa-asennossa.#
kun ohjaimen akseli [1 v] muuttuu
[Move the robot forward or reverse based on the position of the joystick.]
jos <(ohjaimen akseli [1 v] sijainti) [math_greater_than v] [0]> niin
liiku [eteenpäin v]
muuten jos <(ohjaimen akseli [1 v] sijainti) [math_less_than v] [0]> niin
liiku [taaksepäin v]
muuten
pysäytä kaikki liike
Loppu

tauko#

break-pinolohko poistuu silmukasta välittömästi. Tätä lohkoa voidaan käyttää lohkojen repeat, repeat until, while ja forever sisällä. Break on hyödyllinen, kun silmukka on pysäytettävä aikaisemmin projektin aikana tapahtuvan tapahtuman, kuten painikkeen painalluksen tai anturin havaitseman objektin, vuoksi.

rikkoa pinolohkon#
keskeytä

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

Käynnistyksen jälkeen LED-valot vilkkuvat punaisina ja vihreinä 0,5 sekunnin välein, kunnes näyttöä painetaan, minkä jälkeen ne pysähtyvät.#
kun käynnistetään
[Flash LEDs until the screen is pressed.]
ikuisesti
aseta [lightall v] LED-väri [punainen v]
odota [0.5] sekuntia
aseta [lightall v] LED-väri [vihreä v]
odota [0.5] sekuntia
jos <näyttö painettu?> niin
keskeytä
Loppu
Loppu

pysäytä projekti#

stop project -pino-lohko lopettaa käynnissä olevan projektin.

pysäytä projektilohko#
pysäytä projekti

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

Käynnistyksen yhteydessä LED-valot vilkkuvat punaisina ja vihreinä 0,5 sekunnin välein, kunnes näyttöä painetaan, minkä jälkeen projekti pysäytetään.#
kun käynnistetään
[Stop the project once the screen is pressed.]
ikuisesti
aseta [lightall v] LED-väri [punainen v]
odota [0.5] sekuntia
aseta [lightall v] LED-väri [vihreä v]
odota [0.5] sekuntia
jos <näyttö painettu?> niin
pysäytä projekti
Loppu
Loppu