Üzenet#

Bevezetés#

Két VEX AIM kódolórobot összekapcsolható, így kommunikálhatnak egymással egy projekt során. Az üzenetblokkok lehetővé teszik, hogy az egyik robot üzenetet küldjön a másiknak. Az üzenet tartalmazhat önmagában szöveget, vagy szöveget egy számmal.

A fogadott üzeneteket FIFO (first-in, first-out) sorban tárolja a rendszer. Ez azt jelenti, hogy az elsőként fogadott üzenet lesz az első, amelyet beolvas.

Használj egy get latest message blokkot a következő fogadott üzenet tárolásához. Ezután használd a latest message riporter blokkot a tárolt szöveg beolvasásához. Ha az üzenet számot is tartalmaz, használd a get latest message with data blokkot mindkét érték tárolására, majd a latest message és latest data blokkokkal olvasd be őket.

Megjegyzés: Az üzenetek küldéséhez és fogadásához mindkét robotnak össze kell kapcsolódnia, és mindkét robotnak olyan projekteket kell futtatnia, amelyek üzenetblokkokat használnak.

Az alábbiakban az összes blokk listája található:

Értékek — Üzenetinformációk olvasása, vagy üzenet- és kapcsolatállapot ellenőrzése.

Műveletek – Fogadott üzenetek küldése vagy tárolása.

Értékek#

legújabb üzenet#

A legutóbbi üzenet jelentésblokk a legutóbb tárolt szöveges üzenetet jelenti. Ez a blokk önmagában nem kap új üzenetet. Először használd a legutóbbi üzenet lekérése vagy a legutóbbi üzenet lekérése adatokkal metódust, majd a legutóbbi üzenet használatával jelenítsd meg a tárolt szöveget, vagy használd egy másik blokkban.

legújabb üzenetküldő blokk#
(legújabb üzenet)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Robot 1

Amikor a képernyőt megnyomják, üzenetet küld a 2. robotnak.#
amikor a képernyő [megnyomva v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
üzenet küldése: [Hello, Robot 2!]

Robot 2

Indításkor a legutóbb tárolt üzenetet jeleníti meg.#
amikor elindul
[Code for Robot 2.]
[Display the message Robot 1 sends.]
[Robot 2] nyomtatása a képernyőn ▶
kurzor a következő sorra a képernyőn
várakozás amíg <van elérhető üzenet?>
legújabb üzenet lekérése
(legújabb üzenet) nyomtatása a képernyőn ▶

legfrissebb adatok#

A legutóbbi adatok jelentési blokkja az adatokat tartalmazó üzenet legutóbb tárolt számát jelenti. Ez a blokk önmagában nem kap új számot. Először használd a legutóbbi adatokkal rendelkező üzenet lekérése függvényt, majd a legutóbbi adatokat egy másik blokkban, például egy vezetési távolság, fordulási irány vagy sebességérték esetén.

legújabb adatriporter blokk#
(legújabb adat)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Robot 1

Indításkor folyamatosan küldi az 1. robot útját a 2. robothoz.#
amikor elindul
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
örökre
üzenet küldése: [heading] adattal (irány fokban)
vége

Robot 2

Indításkor a legutóbb tárolt adatoknak megfelelően vált.#
amikor elindul
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
[Robot 2] nyomtatása a képernyőn ▶
örökre
ha <van elérhető üzenet?> akkor
legújabb üzenet lekérése adattal
fordulás (legújabb adat) fokos irányba ▶
vége
vége

elérhető az üzenet?#

Az elérhető üzenet? logikai blokk jelzi, hogy várakozik-e üzenet az üzenetsorban. Ezt a blokkot a legújabb üzenet lekérése vagy a legújabb üzenet lekérése adatokkal blokk előtt kell használni, hogy a fogadó robot csak a már megérkezett üzenet után próbálja meg tárolni az üzenetet.

  • Igaz — Van egy elolvasásra váró üzenet.

  • Hamis — Nincsenek olvasható üzenetek.

Elérhető az üzenet? Logikai blokk#
<van elérhető üzenet?>

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Robot 1

Amikor a képernyőt megnyomják, üzenetet küld a 2. robotnak.#
amikor a képernyő [megnyomva v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
üzenet küldése: [message]

Robot 2

Indításkor üzenetet jelenít meg, amikor az 1. robot üzenetet küld.#
amikor elindul
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
[Robot 2] nyomtatása a képernyőn ▶
kurzor a következő sorra a képernyőn
várakozás amíg <van elérhető üzenet?>
[Received!] nyomtatása a képernyőn ▶

össze van kötve?#

A csatlakozva van? logikai blokk jelzi, hogy a robot össze van-e kapcsolva egy másik robottal. Ezt a blokkot üzenetek küldése vagy fogadása előtt kell használni, ha a projektnek ellenőriznie kell, hogy a robotok közötti kapcsolat készen áll-e.

  • Igaz — A robot egy másik robothoz van csatlakoztatva.

  • Hamis — A robot nincs összekapcsolva egy másik robottal.

össze van kötve? Logikai blokk#
<csatlakoztatva?>

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor kijelzi, hogy a robot csatlakoztatva van-e.#
amikor elindul
[Turn off one of the linked robots to see the message change.]
örökre
képernyő törlése
<csatlakoztatva?> nyomtatása a képernyőn ▶
vége

összekapcsolt robot neve#

A kapcsolt robot neve jelentésblokk a csatlakoztatott robot nevét jelenti. Ezzel a blokkal jelezheti, hogy melyik robot van csatlakoztatva az üzenetek küldése vagy fogadása előtt. Ha nincs csatlakoztatott robot, akkor a blokk a Nincs értéket jelenti.

összekapcsolt robot neve riporter blokk#
(csatolt robot neve)

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Indításkor megjeleníti a csatlakoztatott robot nevét.#
amikor elindul
[Display the name of the robot that is linked.]
(csatolt robot neve) nyomtatása a képernyőn ▶

Műveletek#

üzenet küldése#

Az üzenetküldés veremblokk szöveget küld a csatolt robotnak. Ezt a blokkot az egyik roboton kell használni, ha a másik robotnak parancsot, jelet vagy rövid információt kell fogadnia. A fogadó roboton a elérhető-e üzenet? paranccsal ellenőrizd, hogy megérkezett-e az üzenet, majd a legújabb üzenet lekérése paranccsal olvasd be, mielőtt a legújabb üzenet paranccsal elolvasnád.

üzenet küldése veremblokk#
üzenet küldése: [message]

Paraméter

Leírás

üzenet

A csatolt robotnak küldendő szöveg.

Példa

Robot 1

Amikor a képernyőt megnyomják, üzenetet küld a 2. robotnak.#
amikor a képernyő [megnyomva v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
üzenet küldése: [Hello, Robot 2!]

Robot 2

Indításkor megjeleníti az 1. robot által küldött üzenetet.#
amikor elindul
[Code for Robot 2.]
[Display the message Robot 1 sends.]
[Robot 2] nyomtatása a képernyőn ▶
kurzor a következő sorra a képernyőn
várakozás amíg <van elérhető üzenet?>
legújabb üzenet lekérése
(legújabb üzenet) nyomtatása a képernyőn ▶

üzenet küldése adatokkal#

Az üzenet küldése adatokkal veremblokk szöveget és egy számot küld a csatolt robotnak. Ezt a blokkot akkor használd, ha az üzenethez címkére és számra van szükség, például ha a irány üzenetet a robot aktuális irányértékével küldöd el. A fogadó roboton használd a is message available? függvénnyel ellenőrizd, hogy megérkezett-e az üzenet, majd használd a legújabb üzenet lekérése adatokkal függvénnyel, mielőtt a szöveget a legújabb üzenettel függvénnyel, a számot pedig a legújabb adatokkal függvénnyel olvasnád be.

üzenet küldése adatverem blokkal#
üzenet küldése: [message] adattal [0]

Paraméter

Leírás

üzenet

A csatolt robotnak küldendő szöveg.

adat

Az üzenettel együtt küldendő szám.

Példa

Robot 1

Indításkor folyamatosan küldi az 1. robot útját a 2. robothoz.#
amikor elindul
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
örökre
üzenet küldése: [heading] adattal (irány fokban)
vége

Robot 2

Indításkor a robot 1 által küldött iránynak megfelelően fordul.#
amikor elindul
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
[Robot 2] nyomtatása a képernyőn ▶
örökre
ha <van elérhető üzenet?> akkor
legújabb üzenet lekérése adattal
fordulás (legújabb adat) fokos irányba ▶
vége
vége

legújabb üzenet fogadása#

A legutóbbi üzenet lekérése veremblokk kiveszi a következő fogadott szöveges üzenetet az üzenetsorból, és eltárolja, hogy a projekt felhasználhassa. Ezt a blokkot a is message available? Igaz értékű üzenet után, de a legutóbbi üzenet használata előtt kell használni. Ez segít a fogadó robotnak elmenteni az üzenetet, mielőtt megpróbálná megjeleníteni, összehasonlítani vagy egy másik blokkban felhasználni.

Használd a üzenetküldés parancsot a másik roboton egy szöveges üzenet küldéséhez.

legújabb üzenetblokk lekérése#
legújabb üzenet lekérése

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Robot 1

Amikor a képernyőt megnyomják, üzenetet küld a 2. robotnak.#
amikor a képernyő [megnyomva v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
üzenet küldése: [Hello, Robot 2!]

Robot 2

Indításkor tárolja és megjeleníti az 1. robot által küldött üzenetet.#
amikor elindul
[Code for Robot 2.]
[Display the message Robot 1 sends.]
[Robot 2] nyomtatása a képernyőn ▶
kurzor a következő sorra a képernyőn
várakozás amíg <van elérhető üzenet?>
legújabb üzenet lekérése
(legújabb üzenet) nyomtatása a képernyőn ▶

legújabb üzenet fogadása adatokkal#

A legutóbbi üzenet adatokkal veremblokk a következő fogadott üzenetet veszi ki az üzenetsorból, és annak mindkét részét tárolja: a szöveges üzenetet és a vele együtt küldött számot. Ezt a blokkot a is message available? Igaz értéket jelző üzenet után, de a legutóbbi üzenet vagy a legutóbbi adatok használata előtt kell használni. Ez segít a fogadó robotnak mindkét értéket elmenteni, mielőtt felhasználná őket, például egy másik robot által küldött irány felé fordulna.

Használd a üzenet küldése adatokkal parancsot a másik roboton az üzenet és a szám együttes elküldéséhez.

legújabb üzenet lekérése adatverem blokkal#
legújabb üzenet lekérése adattal

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

Robot 1

Indításkor folyamatosan küldi az 1. robot útját a 2. robothoz.#
amikor elindul
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
[Robot 1] nyomtatása a képernyőn ▶
örökre
üzenet küldése: [heading] adattal (irány fokban)
vége

Robot 2

Indításkor tárolja az üzenet adatait, és a fordulókat az 1-es robot irányának megfelelően állítja be.#
amikor elindul
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
[Robot 2] nyomtatása a képernyőn ▶
örökre
ha <van elérhető üzenet?> akkor
legújabb üzenet lekérése adattal
fordulás (legújabb adat) fokos irányba ▶
vége
vége