Žinutė#
Įvadas#
Du VEX AIM kodavimo robotai gali būti sujungti, kad jie galėtų bendrauti projekto metu. Pranešimų blokai leidžia vienam robotui siųsti pranešimą kitam robotui. Pranešime gali būti vien tekstas arba tekstas su skaičiumi.
Gauti pranešimai saugomi FIFO (pirmas įeina, pirmas išeina) eilėje. Tai reiškia, kad pirmas gautas pranešimas yra pirmas pranešimas, kuris bus perskaitytas.
Naudokite get latest message bloką, kad išsaugotumėte kitą gautą pranešimą. Tada naudokite latest message reporterio bloką, kad nuskaitytumėte išsaugotą tekstą. Jei pranešime taip pat yra skaičius, naudokite get latest message with data, kad išsaugotumėte abi reikšmes, tada naudokite latest message ir latest data, kad jas perskaitytumėte.
Pastaba: Kad pranešimai būtų siunčiami ir gaunami, abu robotai turi būti susieti ir abu robotai turi vykdyti projektus, kuriuose naudojami pranešimų blokai.
Žemiau pateikiamas visų blokų sąrašas:
Reikšmės – perskaityti pranešimo informaciją arba patikrinti pranešimo ir ryšio būseną.
naujausia žinutė – Praneša apie paskiausiai išsaugotą tekstinę žinutę.
naujausi duomenys – pateikia paskutinį išsaugotą skaičių.
ar pranešimas prieinamas? — Praneša, ar pranešimas prieinamas perskaityti.
prijungta? — Praneša, ar robotas yra susietas su kitu robotu.
susieto roboto pavadinimas — Pateikia susieto roboto pavadinimą.
Veiksmai – siųsti arba saugoti gautas žinutes.
siųsti žinutę — Siunčia tekstą susietam robotui.
siųsti žinutę su duomenimis — Siunčia tekstą ir numerį susietam robotui.
gauti naujausią žinutę — Išsaugo kitą gautą tekstinį pranešimą.
gauti naujausią žinutę su duomenimis — Išsaugo kitą gautą tekstinę žinutę ir numerį.
Vertybės#
naujausia žinutė#
Naujausio pranešimo reporterio blokas praneša apie naujausią išsaugotą tekstinį pranešimą. Šis blokas pats savaime negauna naujų pranešimų. Pirmiausia naudokite get latest message arba get latest message with data, tada naudokite latest message, kad būtų rodomas išsaugotas tekstas, arba naudokite jį kitame bloke.
(paskutinė žinutė)
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
Robotas 1
kai ekranas [paspausti v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
spausdinti [Robot 1] ekrane ▶
siųsti žinutę [Hello, Robot 2!]
Robotas 2
kai pradėta
[Code for Robot 2.]
[Display the message Robot 1 sends.]
spausdinti [Robot 2] ekrane ▶
perkelti žymeklį į kitą eilutę ekrane
laukti kol <žinutė prieinama?>
gauti paskutinę žinutę
spausdinti (paskutinė žinutė) ekrane ▶
naujausi duomenys#
The latest data reporter block reports the most recently stored number from a message that included data. This block does not get a new number by itself. Use get latest message with data first, then use latest data in another block, such as a drive distance, turn heading, or speed value.
(paskutiniai duomenys)
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
Robotas 1
kai pradėta
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
spausdinti [Robot 1] ekrane ▶
amžinai
siųsti žinutę [heading] su duomenimis (kryptis laipsniais)
pabaiga
Robotas 2
kai pradėta
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
spausdinti [Robot 2] ekrane ▶
amžinai
jei <žinutė prieinama?> tada
gauti paskutinę žinutę su duomenimis
sukti į (paskutiniai duomenys) laipsnių kryptį ▶
pabaiga
pabaiga
Ar žinutė prieinama?#
Loginis blokas ar pranešimas prieinamas? praneša, ar pranešimų eilėje laukia pranešimas. Naudokite šį bloką prieš gauti naujausią pranešimą arba gauti naujausią pranešimą su duomenimis, kad priimantis robotas bandytų išsaugoti pranešimą tik po to, kai jis jau atkeliauja.
Teisinga – Yra pranešimas, kurį galima perskaityti.
Klaidinga — Nėra pranešimų, kuriuos būtų galima perskaityti.
<žinutė prieinama?>
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
Robotas 1
kai ekranas [paspausti v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
spausdinti [Robot 1] ekrane ▶
siųsti žinutę [message]
Robotas 2
kai pradėta
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
spausdinti [Robot 2] ekrane ▶
perkelti žymeklį į kitą eilutę ekrane
laukti kol <žinutė prieinama?>
spausdinti [Received!] ekrane ▶
yra prijungtas?#
Loginis blokas yra prijungtas? nurodo, ar robotas yra susietas su kitu robotu. Naudokite šį bloką prieš siųsdami arba laukdami pranešimų, jei projektui reikia patikrinti, ar robotų tarpusavio ryšys yra paruoštas.
Tiesa – robotas yra susietas su kitu robotu.
Netiesa — Robotas nėra sujungtas su kitu robotu.
<prisijungta?>
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta
[Turn off one of the linked robots to see the message change.]
amžinai
išvalyti ekraną
spausdinti <prisijungta?> ekrane ▶
pabaiga
susieto roboto pavadinimas#
Susieto roboto pavadinimo reporterio blokas praneša susieto roboto pavadinimą. Naudokite šį bloką, norėdami parodyti, kuris robotas yra prijungtas prieš siunčiant arba gaunant pranešimus. Jei robotas nėra susietas, šis blokas praneša Nėra.
(susieto roboto pavadinimas)
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta
[Display the name of the robot that is linked.]
spausdinti (susieto roboto pavadinimas) ekrane ▶
Veiksmai#
siųsti žinutę#
Siųsti pranešimą blokas siunčia tekstą susietam robotui. Naudokite šį bloką vienam robotui, kai kitam robotui reikia gauti komandą, signalą ar trumpą informaciją. Priimančiame robote naudokite is message available?, kad patikrintumėte, ar pranešimas atvyko, tada naudokite get latest message prieš perskaitydami jį naudodami latest message.
siųsti žinutę [message]
Parametras |
Aprašymas |
|---|---|
žinutė |
Tekstas, kurį reikia siųsti susietam robotui. |
Pavyzdys
Robotas 1
kai ekranas [paspausti v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
spausdinti [Robot 1] ekrane ▶
siųsti žinutę [Hello, Robot 2!]
Robotas 2
kai pradėta
[Code for Robot 2.]
[Display the message Robot 1 sends.]
spausdinti [Robot 2] ekrane ▶
perkelti žymeklį į kitą eilutę ekrane
laukti kol <žinutė prieinama?>
gauti paskutinę žinutę
spausdinti (paskutinė žinutė) ekrane ▶
siųsti žinutę su duomenimis#
Blokas „siųsti pranešimą su duomenimis“ siunčia tekstą ir numerį susietam robotui. Naudokite šį bloką, kai pranešimui reikia etiketės ir numerio, pvz., siunčiant kelią su dabartine roboto kelio verte. Priimančiame robote naudokite funkciją is message available?, kad patikrintumėte, ar pranešimas atvyko, tada naudokite funkciją get latest message with data prieš perskaitydami tekstą su latest message ir numerį su latest data.
siųsti žinutę [message] su duomenimis [0]
Parametras |
Aprašymas |
|---|---|
žinutė |
Tekstas, kurį reikia siųsti susietam robotui. |
duomenys |
Numeris, kurį reikia siųsti su žinute. |
Pavyzdys
Robotas 1
kai pradėta
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
spausdinti [Robot 1] ekrane ▶
amžinai
siųsti žinutę [heading] su duomenimis (kryptis laipsniais)
pabaiga
Robotas 2
kai pradėta
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
spausdinti [Robot 2] ekrane ▶
amžinai
jei <žinutė prieinama?> tada
gauti paskutinę žinutę su duomenimis
sukti į (paskutiniai duomenys) laipsnių kryptį ▶
pabaiga
pabaiga
gauti naujausią pranešimą#
Blokas „gauti naujausią pranešimą“ paima kitą gautą tekstinį pranešimą iš pranešimų eilės ir jį išsaugo, kad projektas galėtų jį naudoti. Šį bloką naudokite po to, kai is message available? pateikia reikšmę True ir prieš naudojant latest message. Tai padeda priimančiam robotui išsaugoti pranešimą prieš bandant jį parodyti, palyginti ar naudoti kitame bloke.
Norėdami išsiųsti tekstinį pranešimą, kitame robote naudokite send message.
gauti paskutinę žinutę
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
Robotas 1
kai ekranas [paspausti v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
spausdinti [Robot 1] ekrane ▶
siųsti žinutę [Hello, Robot 2!]
Robotas 2
kai pradėta
[Code for Robot 2.]
[Display the message Robot 1 sends.]
spausdinti [Robot 2] ekrane ▶
perkelti žymeklį į kitą eilutę ekrane
laukti kol <žinutė prieinama?>
gauti paskutinę žinutę
spausdinti (paskutinė žinutė) ekrane ▶
gauti naujausią pranešimą su duomenimis#
Blokas „gauti naujausią pranešimą su duomenimis“ paima kitą gautą pranešimą iš pranešimų eilės ir išsaugo abi jo dalis: tekstinį pranešimą ir su juo išsiųstą numerį. Šį bloką naudokite po to, kai is message available? nurodo reikšmę True ir prieš naudojant latest message arba latest data. Tai padeda priimančiam robotui išsaugoti abi reikšmes prieš jas naudojant, pvz., pasukant į kito roboto išsiųstą kryptį.
Kitame robote naudokite send message with data, kad kartu išsiųstumėte tekstą ir numerį.
gauti paskutinę žinutę su duomenimis
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
Robotas 1
kai pradėta
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
spausdinti [Robot 1] ekrane ▶
amžinai
siųsti žinutę [heading] su duomenimis (kryptis laipsniais)
pabaiga
Robotas 2
kai pradėta
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
spausdinti [Robot 2] ekrane ▶
amžinai
jei <žinutė prieinama?> tada
gauti paskutinę žinutę su duomenimis
sukti į (paskutiniai duomenys) laipsnių kryptį ▶
pabaiga
pabaiga