Ž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ą.

Veiksmai – siųsti arba saugoti gautas žinutes.

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.

Naujausias pranešimų reporterio blokas#
(paskutinė žinutė)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Robotas 1

Paspaudus ekraną, siunčiamas pranešimas robotui 2.#
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

Paleidus rodoma paskutinė išsaugota žinutė.#
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.

Naujausias duomenų reporterio blokas#
(paskutiniai duomenys)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Robotas 1

Paleidus, nuolat siunčia 1-ojo roboto kryptį 2-ajam robotui.#
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

Paleidus, pasisuka, kad atitiktų naujausius išsaugotus duomenis.#
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.

Ar pranešimas prieinamas? Loginis blokas#
<žinutė prieinama?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Robotas 1

Paspaudus ekraną, siunčiamas pranešimas robotui 2.#
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

Paleidus, kai robotas 1 siunčia pranešimą, rodomas pranešimas.#
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.

yra prijungtas? Būlio blokas#
<prisijungta?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus rodoma, ar robotas prijungtas.#
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 pavadinimo reporterio blokas#
(susieto roboto pavadinimas)

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Paleidus rodoma prijungto roboto pavadinimas.#
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 pranešimų bloką#
siųsti žinutę [message]

Parametras

Aprašymas

žinutė

Tekstas, kurį reikia siųsti susietam robotui.

Pavyzdys

Robotas 1

Paspaudus ekraną, siunčiamas pranešimas robotui 2.#
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

Paleidus, rodomas roboto 1 išsiųstas pranešimas.#
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 pranešimą su duomenų bloko#
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

Paleidus, nuolat siunčia 1-ojo roboto kryptį 2-ajam robotui.#
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

Prasidėjus, posūkiai atitinka roboto 1 siųstą kryptį.#
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 naujausią pranešimų bloką#
gauti paskutinę žinutę

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Robotas 1

Paspaudus ekraną, siunčiamas pranešimas robotui 2.#
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

Paleidus, išsaugo ir rodo roboto 1 išsiųstą pranešimą.#
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 naujausią pranešimą su duomenų bloko#
gauti paskutinę žinutę su duomenimis

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Robotas 1

Paleidus, nuolat siunčia 1-ojo roboto kryptį 2-ajam robotui.#
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

Paleidus, išsaugo pranešimo duomenis ir posūkius, kad jie atitiktų 1-ojo roboto kryptį.#
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