Zpráva#
Zavedení#
Dva kódovací roboty VEX AIM lze propojit, aby mohli během projektu komunikovat. Bloky zpráv umožňují jednomu robotovi poslat zprávu druhému robotovi. Zpráva může obsahovat samostatný text nebo text s číslem.
Přijaté zprávy jsou ukládány do fronty typu „first in, first out“ (FIFO). To znamená, že první přijatá zpráva je první zprávou, která bude přečtena.
Pro uložení další přijaté zprávy použijte blok get latest message. Poté použijte reportérový blok latest message pro čtení uloženého textu. Pokud zpráva obsahuje také číslo, použijte get latest message with data pro uložení obou hodnot a poté použijte latest message a latest data pro jejich čtení.
Poznámka: Aby bylo možné odesílat a přijímat zprávy, musí být oba roboti propojeni a oba roboti musí mít spuštěné projekty, které používají bloky zpráv.
Níže je uveden seznam všech bloků:
Hodnoty – Čtení informací o zprávě nebo kontrola stavu zprávy a připojení.
poslední zpráva — Vrátí poslední uloženou textovou zprávu.
nejnovější data — Vrátí naposledy uložené číslo.
je zpráva dostupná? — Oznámí, zda je zpráva k dispozici ke čtení.
je připojen? — Ukazuje, zda je robot propojen s jiným robotem.
název propojeného robota — Vrátí název propojeného robota.
Akce – Odeslat nebo uložit přijaté zprávy.
odeslat zprávu — Odešle text propojenému robotovi.
odeslat zprávu s daty — Odešle text a číslo propojenému robotovi.
získat nejnovější zprávu — Uloží další přijatou textovou zprávu.
získat nejnovější zprávu s daty — Uloží další přijatou textovou zprávu a číslo.
Hodnoty#
nejnovější zpráva#
Blok latest message hlásí poslední uloženou textovou zprávu. Tento blok sám o sobě novou zprávu nezíská. Nejprve použijte get latest message nebo get latest message with data a poté použijte latest message k zobrazení uloženého textu nebo jej použijte v jiném bloku.
(poslední zpráva)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
Robot 1
když obrazovka [stisknuto v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tisk [Robot 1] na obrazovce ▶
odeslat zprávu [Hello, Robot 2!]
Robot 2
při spuštění
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tisk [Robot 2] na obrazovce ▶
přesunout kurzor na další řádek na obrazovce
čekat dokud <je zpráva dostupná?>
získat poslední zprávu
tisk (poslední zpráva) na obrazovce ▶
nejnovější údaje#
Blok hlášení nejnovějších dat hlásí naposledy uložené číslo ze zprávy, která obsahovala data. Tento blok sám o sobě nové číslo nezíská. Nejprve použijte get latest message with data a poté použijte nejnovější data v jiném bloku, například vzdálenost jízdy, směr odbočení nebo hodnotu rychlosti.
(poslední data)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
Robot 1
při spuštění
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tisk [Robot 1] na obrazovce ▶
navždy
odeslat zprávu [heading] s daty (kurz ve stupních)
konec
Robot 2
při spuštění
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tisk [Robot 2] na obrazovce ▶
navždy
pokud <je zpráva dostupná?> pak
získat poslední zprávu s daty
otočit na kurz (poslední data) stupňů ▶
konec
konec
Je zpráva k dispozici?#
Logický blok is message available? informuje o tom, zda ve frontě zpráv čeká zpráva. Použijte tento blok před blokem get latest message nebo get latest message with data, aby se přijímací robot pokusil uložit zprávu až po jejím doručení.
True – K dispozici je zpráva ke čtení.
Nepravda — Nejsou k dispozici žádné zprávy ke čtení.
<je zpráva dostupná?>
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
Robot 1
když obrazovka [stisknuto v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tisk [Robot 1] na obrazovce ▶
odeslat zprávu [message]
Robot 2
při spuštění
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
tisk [Robot 2] na obrazovce ▶
přesunout kurzor na další řádek na obrazovce
čekat dokud <je zpráva dostupná?>
tisk [Received!] na obrazovce ▶
je připojeno?#
Logický blok is connected? informuje o tom, zda je robot propojen s jiným robotem. Tento blok použijte před odesláním nebo čekáním na zprávy, pokud projekt potřebuje ověřit, zda je připojení mezi roboty připraveno.
Pravda – Robot je propojen s jiným robotem.
Nepravda — Robot není propojen s jiným robotem.
<připojen?>
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění
[Turn off one of the linked robots to see the message change.]
navždy
vymazat obrazovku
tisk <připojen?> na obrazovce ▶
konec
název propojeného robota#
Blok název propojeného robota hlásí název propojeného robota. Tento blok slouží k zobrazení, který robot je připojen, před odesláním nebo přijetím zpráv. Pokud není propojen žádný robot, tento blok hlásí Žádný.
(název propojeného robota)
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
při spuštění
[Display the name of the robot that is linked.]
tisk (název propojeného robota) na obrazovce ▶
Akce#
odeslat zprávu#
Zásobníkový blok send message odesílá text propojenému robotovi. Tento blok použijte na jednom robotu, když druhý robot potřebuje přijmout příkaz, signál nebo krátkou informaci. Na přijímajícím robotu použijte is message available? pro ověření, zda zpráva dorazila, a poté použijte get latest message před jejím přečtením pomocí latest message.
odeslat zprávu [message]
Parametr |
Popis |
|---|---|
zpráva |
Text, který se má odeslat propojenému robotovi. |
Příklad
Robot 1
když obrazovka [stisknuto v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tisk [Robot 1] na obrazovce ▶
odeslat zprávu [Hello, Robot 2!]
Robot 2
při spuštění
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tisk [Robot 2] na obrazovce ▶
přesunout kurzor na další řádek na obrazovce
čekat dokud <je zpráva dostupná?>
získat poslední zprávu
tisk (poslední zpráva) na obrazovce ▶
odeslat zprávu s daty#
Zásobníkový blok send message with data odesílá text a číslo propojenému robotovi. Tento blok použijte, když zpráva potřebuje popisek a číslo, například při odeslání heading s aktuální hodnotou směru robota. Na přijímajícím robotu použijte is message available? pro ověření, zda zpráva dorazila, a poté použijte get latest message with data před přečtením textu pomocí latest message a čísla pomocí latest data.
odeslat zprávu [message] s daty [0]
Parametr |
Popis |
|---|---|
zpráva |
Text, který se má odeslat propojenému robotovi. |
data |
Číslo, které se má odeslat se zprávou. |
Příklad
Robot 1
při spuštění
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tisk [Robot 1] na obrazovce ▶
navždy
odeslat zprávu [heading] s daty (kurz ve stupních)
konec
Robot 2
při spuštění
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tisk [Robot 2] na obrazovce ▶
navždy
pokud <je zpráva dostupná?> pak
získat poslední zprávu s daty
otočit na kurz (poslední data) stupňů ▶
konec
konec
získat nejnovější zprávu#
Blok get latest message vezme další přijatou textovou zprávu z fronty zpráv a uloží ji, aby ji projekt mohl použít. Tento blok použijte poté, co is message available? nahlásí True a před použitím latest message. To pomůže přijímajícímu robotovi uložit zprávu před jejím zobrazením, porovnáním nebo použitím v jiném bloku.
Použijte send message na druhém robotu k odeslání pouze textové zprávy.
získat poslední zprávu
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
Robot 1
když obrazovka [stisknuto v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
tisk [Robot 1] na obrazovce ▶
odeslat zprávu [Hello, Robot 2!]
Robot 2
při spuštění
[Code for Robot 2.]
[Display the message Robot 1 sends.]
tisk [Robot 2] na obrazovce ▶
přesunout kurzor na další řádek na obrazovce
čekat dokud <je zpráva dostupná?>
získat poslední zprávu
tisk (poslední zpráva) na obrazovce ▶
získat nejnovější zprávu s daty#
Blok get latest message with data vezme další přijatou zprávu z fronty zpráv a uloží obě její části: textovou zprávu a číslo odeslané s ní. Tento blok se použije poté, co is message available? nahlásí True a před použitím latest message nebo latest data. To pomáhá přijímajícímu robotovi uložit obě hodnoty před jejich použitím, například při přechodu na nadpis, který odeslal jiný robot.
Použijte send message with data na druhém robotu k odeslání textu a čísla společně.
získat poslední zprávu s daty
Parametry |
Popis |
|---|---|
Tento blok nemá žádné parametry. |
Příklad
Robot 1
při spuštění
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
tisk [Robot 1] na obrazovce ▶
navždy
odeslat zprávu [heading] s daty (kurz ve stupních)
konec
Robot 2
při spuštění
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
tisk [Robot 2] na obrazovce ▶
navždy
pokud <je zpráva dostupná?> pak
získat poslední zprávu s daty
otočit na kurz (poslední data) stupňů ▶
konec
konec