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í.

Akce – Odeslat nebo uložit přijaté zprávy.

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.

blok reportéra nejnovějších zpráv#
(poslední zpráva)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Robot 1

Po stisknutí obrazovky se odešle zpráva robotovi 2.#
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

Po spuštění zobrazí poslední uloženou zprávu.#
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.

nejnovější blok reportérů dat#
(poslední data)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Robot 1

Po spuštění nepřetržitě odesílá směr Robota 1 Robotu 2.#
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

Po spuštění se přepne do režimu odpovídá nejnovějším uloženým datům.#
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 k dispozici? Booleovský blok#
<je zpráva dostupná?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Robot 1

Po stisknutí obrazovky se odešle zpráva robotovi 2.#
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

Po spuštění zobrazí zprávu, když Robot 1 odešle zprávu.#
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.

je připojen? Booleovský blok#
<připojen?>

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Po spuštění se zobrazí, zda je robot připojen.#
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ý.

blok reportéra propojeného názvu robota#
(název propojeného robota)

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Po spuštění se zobrazí název propojeného robota.#
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 blok zásobníku zpráv#
odeslat zprávu [message]

Parametr

Popis

zpráva

Text, který se má odeslat propojenému robotovi.

Příklad

Robot 1

Po stisknutí obrazovky se odešle zpráva robotovi 2.#
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

Po spuštění zobrazí zprávu odeslanou robotem 1.#
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 s blokem datového zásobníku#
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

Po spuštění nepřetržitě odesílá směr Robota 1 Robotu 2.#
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

Po spuštění se otočí podle směru vyslaného robotem 1.#
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 nejnovější blok zásobníku zpráv#
získat poslední zprávu

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Robot 1

Po stisknutí obrazovky se odešle zpráva robotovi 2.#
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

Po spuštění uloží a zobrazí zprávu odeslanou robotem 1.#
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 nejnovější zprávu s blokem datového zásobníku#
získat poslední zprávu s daty

Parametry

Popis

Tento blok nemá žádné parametry.

Příklad

Robot 1

Po spuštění nepřetržitě odesílá směr Robota 1 Robotu 2.#
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

Po spuštění uloží data zprávy a otočí se podle směru pohybu Robota 1.#
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