Ziņojums#

Ievads#

Divus VEX AIM kodēšanas robotus var savienot, lai tie varētu sazināties projekta laikā. Ziņojumu bloki ļauj vienam robotam nosūtīt ziņojumu otram robotam. Ziņojumā var būt ietverts tikai teksts vai teksts ar numuru.

Saņemtie ziņojumi tiek glabāti rindā pēc principa “pirmais iekšā, pirmais ārā” (FIFO). Tas nozīmē, ka pirmais saņemtais ziņojums ir pirmais, kas tiks nolasīts.

Izmantojiet bloku get latest message, lai saglabātu nākamo saņemto ziņojumu. Pēc tam izmantojiet reportiera bloku latest message, lai nolasītu saglabāto tekstu. Ja ziņojumā ir iekļauts arī skaitlis, izmantojiet bloku get latest message with data, lai saglabātu abas vērtības, un pēc tam izmantojiet blokus latest message un latest data, lai tās nolasītu.

Piezīme: Lai ziņojumus varētu nosūtīt un saņemt, abiem robotiem ir jābūt savienotiem un abiem robotiem ir jādarbojas projektos, kas izmanto ziņojumu blokus.

Zemāk ir visu bloku saraksts:

Vērtības — lasīt ziņojuma informāciju vai pārbaudīt ziņojuma un savienojuma statusu.

Darbības — nosūtīt vai saglabāt saņemtos ziņojumus.

Vērtības#

jaunākais ziņojums#

Jaunākā ziņojuma ziņotāja bloks ziņo par pēdējo saglabāto īsziņu. Šis bloks pats par sevi nesaņem jaunu ziņojumu. Vispirms izmantojiet get latest message vai get latest message with data un pēc tam izmantojiet latest message, lai parādītu saglabāto tekstu vai izmantotu to citā blokā.

jaunākais ziņojumu reportiera bloks#
(pēdējais ziņojums)

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Robots 1

Nospiežot ekrānu, tiek nosūtīts ziņojums robotam 2.#
kad ekrāns [nospiests v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drukāt [Robot 1] ekrānā ▶
sūtīt ziņojumu [Hello, Robot 2!]

Robots 2

Pēc palaišanas tiek parādīts jaunākais saglabātais ziņojums.#
kad sākts
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drukāt [Robot 2] ekrānā ▶
pāriet uz nākamo rindu ekrānā
gaidīt līdz <ziņojums pieejams?>
iegūt pēdējo ziņojumu
drukāt (pēdējais ziņojums) ekrānā ▶

jaunākie dati#

Jaunāko datu ziņotāja bloks jaunāko datu ziņo par pēdējo saglabāto skaitli no ziņojuma, kurā bija iekļauti dati. Šis bloks pats par sevi nesaņem jaunu skaitli. Vispirms izmantojiet iegūt jaunāko ziņojumu ar datiem, pēc tam izmantojiet jaunākos datus citā blokā, piemēram, braukšanas attālumu, pagrieziena virzienu vai ātruma vērtību.

jaunākais datu ziņotāja bloks#
(pēdējie dati)

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Robots 1

Kad tas ir iedarbināts, nepārtraukti sūta 1. robota virzienu uz 2. robotu.#
kad sākts
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drukāt [Robot 1] ekrānā ▶
mūžīgi
sūtīt ziņojumu [heading] ar datiem (virziena leņķis grādos)
beigas

Robots 2

Pēc palaišanas pagriežas, lai atbilstu pēdējiem saglabātajiem datiem.#
kad sākts
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drukāt [Robot 2] ekrānā ▶
mūžīgi
ja <ziņojums pieejams?> tad
iegūt pēdējo ziņojumu ar datiem
griezties uz virziena leņķi (pēdējie dati) grādos ▶
beigas
beigas

Vai ziņojums ir pieejams?#

Būla bloks vai ziņojums ir pieejams? ziņo, vai ziņojumu rindā gaida ziņojums. Izmantojiet šo bloku pirms get latest message vai get latest message with data, lai saņemošais robots mēģinātu saglabāt ziņojumu tikai pēc tā saņemšanas.

  • Patiess — Ir pieejams ziņojums lasīšanai.

  • Aplams — Nav pieejamu ziņojumu lasīšanai.

Vai ziņojums ir pieejams? Būla bloks#
<ziņojums pieejams?>

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Robots 1

Nospiežot ekrānu, tiek nosūtīts ziņojums robotam 2.#
kad ekrāns [nospiests v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drukāt [Robot 1] ekrānā ▶
sūtīt ziņojumu [message]

Robots 2

Pēc palaišanas parāda ziņojumu, kad 1. robots nosūta ziņojumu.#
kad sākts
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
drukāt [Robot 2] ekrānā ▶
pāriet uz nākamo rindu ekrānā
gaidīt līdz <ziņojums pieejams?>
drukāt [Received!] ekrānā ▶

ir savienots?#

Būla bloks ir savienots? ziņo, vai robots ir savienots ar citu robotu. Izmantojiet šo bloku pirms ziņojumu sūtīšanas vai gaidīšanas, ja projektam ir jāpārbauda, ​​vai robotu savstarpējais savienojums ir gatavs.

  • Patiess — Robots ir savienots ar citu robotu.

  • Aplams — Robots nav savienots ar citu robotu.

ir savienots? Būla bloks#
<savienots?>

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Pēc palaišanas tiek parādīts, vai robots ir pievienots.#
kad sākts
[Turn off one of the linked robots to see the message change.]
mūžīgi
notīrīt ekrānu
drukāt <savienots?> ekrānā ▶
beigas

saistītā robota nosaukums#

Saistītā robota nosaukuma ziņotāja bloks ziņo par saistītā robota nosaukumu. Izmantojiet šo bloku, lai pirms ziņojumu nosūtīšanas vai saņemšanas parādītu, kurš robots ir pievienots. Ja neviens robots nav saistīts, šajā blokā tiek ziņots par Nav.

saistītais robota nosaukums reportiera bloks#
(saistītā robota nosaukums)

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Pēc palaišanas tiek parādīts saistītā robota nosaukums.#
kad sākts
[Display the name of the robot that is linked.]
drukāt (saistītā robota nosaukums) ekrānā ▶

Darbības#

sūtīt ziņojumu#

Ziņojuma nosūtīšanas bloks nosūta ziņojumu nosūta tekstu saistītajam robotam. Izmantojiet šo bloku vienam robotam, kad otram robotam ir jāsaņem komanda, signāls vai īsa informācija. Saņēmējrobotā izmantojiet is message available?, lai pārbaudītu, vai ziņojums ir pienākis, pēc tam izmantojiet get latest message pirms tā nolasīšanas ar latest message.

nosūtīt ziņojumu steka bloku#
sūtīt ziņojumu [message]

Parametrs

Apraksts

ziņojums

Teksts, kas jānosūta saistītajam robotam.

Piemērs

Robots 1

Nospiežot ekrānu, tiek nosūtīts ziņojums robotam 2.#
kad ekrāns [nospiests v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drukāt [Robot 1] ekrānā ▶
sūtīt ziņojumu [Hello, Robot 2!]

Robots 2

Pēc palaišanas tiek parādīts 1. robota nosūtītais ziņojums.#
kad sākts
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drukāt [Robot 2] ekrānā ▶
pāriet uz nākamo rindu ekrānā
gaidīt līdz <ziņojums pieejams?>
iegūt pēdējo ziņojumu
drukāt (pēdējais ziņojums) ekrānā ▶

nosūtīt ziņojumu ar datiem#

Steka bloks sūtīšanas ziņojums ar datiem nosūta tekstu un numuru saistītajam robotam. Izmantojiet šo bloku, ja ziņojumam ir nepieciešama etiķete un numurs, piemēram, sūtot virzienu ar robota pašreizējo virziena vērtību. Saņemošajā robotā izmantojiet is message available?, lai pārbaudītu, vai ziņojums ir pienācis, pēc tam izmantojiet get latest message with data, pirms teksta lasīšanas ar latest message un numura ar latest data.

nosūtīt ziņojumu ar datu steka bloku#
sūtīt ziņojumu [message] ar datiem [0]

Parametrs

Apraksts

ziņojums

Teksts, kas jānosūta saistītajam robotam.

dati

Numurs, kas jānosūta kopā ar ziņojumu.

Piemērs

Robots 1

Kad tas ir iedarbināts, nepārtraukti sūta 1. robota virzienu uz 2. robotu.#
kad sākts
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drukāt [Robot 1] ekrānā ▶
mūžīgi
sūtīt ziņojumu [heading] ar datiem (virziena leņķis grādos)
beigas

Robots 2

Kad startēts, pagriežas atbilstoši 1. robota nosūtītajam virzienam.#
kad sākts
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drukāt [Robot 2] ekrānā ▶
mūžīgi
ja <ziņojums pieejams?> tad
iegūt pēdējo ziņojumu ar datiem
griezties uz virziena leņķi (pēdējie dati) grādos ▶
beigas
beigas

saņemt jaunāko ziņojumu#

Steka bloks iegūt jaunāko ziņojumu paņem nākamo saņemto īsziņu no ziņojumu rindas un saglabā to, lai projekts to varētu izmantot. Izmantojiet šo bloku pēc tam, kad is message available? ziņo par True un pirms latest message izmantošanas. Tas palīdz saņemošajam robotam saglabāt ziņojumu, pirms mēģina to parādīt, salīdzināt vai izmantot citā blokā.

Lai nosūtītu īsziņu, otrā robotā izmantojiet sūtīt ziņu.

iegūt jaunāko ziņojumu steka bloku#
iegūt pēdējo ziņojumu

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Robots 1

Nospiežot ekrānu, tiek nosūtīts ziņojums robotam 2.#
kad ekrāns [nospiests v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drukāt [Robot 1] ekrānā ▶
sūtīt ziņojumu [Hello, Robot 2!]

Robots 2

Pēc palaišanas saglabā un parāda 1. robota nosūtīto ziņojumu.#
kad sākts
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drukāt [Robot 2] ekrānā ▶
pāriet uz nākamo rindu ekrānā
gaidīt līdz <ziņojums pieejams?>
iegūt pēdējo ziņojumu
drukāt (pēdējais ziņojums) ekrānā ▶

saņemt jaunāko ziņojumu ar datiem#

Steka bloks iegūt jaunāko ziņojumu ar datiem paņem nākamo saņemto ziņojumu no ziņojumu rindas un saglabā abas tā daļas: īsziņu un tai pievienoto numuru. Izmantojiet šo bloku pēc tam, kad is message available? ziņo par True un pirms latest message vai latest data izmantošanas. Tas palīdz saņemošajam robotam saglabāt abas vērtības pirms to izmantošanas, piemēram, pagrieziena uz cita robota nosūtītu virzienu.

Izmantojiet sūtīt ziņojumu ar datiem otrā robotā, lai nosūtītu īsziņu un numuru kopā.

saņemt jaunāko ziņojumu ar datu steka bloku#
iegūt pēdējo ziņojumu ar datiem

Parametri

Apraksts

Šim blokam nav parametru.

Piemērs

Robots 1

Kad tas ir iedarbināts, nepārtraukti sūta 1. robota virzienu uz 2. robotu.#
kad sākts
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drukāt [Robot 1] ekrānā ▶
mūžīgi
sūtīt ziņojumu [heading] ar datiem (virziena leņķis grādos)
beigas

Robots 2

Pēc palaišanas saglabā ziņojuma datus un pagriežas, lai atbilstu 1. robota virzienam.#
kad sākts
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drukāt [Robot 2] ekrānā ▶
mūžīgi
ja <ziņojums pieejams?> tad
iegūt pēdējo ziņojumu ar datiem
griezties uz virziena leņķi (pēdējie dati) grādos ▶
beigas
beigas