Ü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.
legutóbbi üzenet — Jelenti a legutóbb tárolt szöveges üzenetet.
legutóbbi adat — A legutóbb tárolt számot jelenti.
elérhető-e az üzenet? — Jelzi, hogy egy üzenet olvasható-e.
csatlakozva van? — Jelzi, hogy a robot össze van-e kapcsolva egy másik robottal.
kapcsolt robot neve — Megjeleníti a kapcsolt robot nevét.
Műveletek – Fogadott üzenetek küldése vagy tárolása.
üzenet küldése — Szöveges üzenetet küld a csatolt robotnak.
adatüzenet küldése — Szöveget és egy számot küld a csatolt robotnak.
legújabb üzenet lekérése — Tárolja a következő fogadott szöveges üzenetet.
legutóbbi adatüzenet lekérése — Tárolja a következő fogadott szöveges üzenetet és a számot.
É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 üzenet)
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
Robot 1
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
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 adat)
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
Robot 1
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
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.
<van elérhető üzenet?>
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
Robot 1
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
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.
<csatlakoztatva?>
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
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.
(csatolt robot neve)
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
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: [message]
Paraméter |
Leírás |
|---|---|
üzenet |
A csatolt robotnak küldendő szöveg. |
Példa
Robot 1
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
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: [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
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
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 üzenet lekérése
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
Robot 1
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
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 adattal
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
Robot 1
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
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