Meddelande#
Introduktion#
Två VEX AIM-kodningsrobotar kan länkas så att de kan kommunicera under ett projekt. Meddelandeblock låter den ena roboten skicka ett meddelande till den andra roboten. Ett meddelande kan innehålla text ensam eller text med ett nummer.
Mottagna meddelanden lagras i en FIFO-kö (först in, först ut). Det betyder att det första mottagna meddelandet är det första meddelandet som kommer att läsas.
Använd ett get latest message-block för att lagra nästa mottagna meddelande. Använd sedan reporterblocket latest message för att läsa den lagrade texten. Om meddelandet också innehåller ett nummer, använd get latest message with data för att lagra båda värdena, använd sedan latest message och latest data för att läsa dem.
Obs! För att meddelanden ska kunna skickas och tas emot måste båda robotarna vara länkade och båda robotarna måste köra projekt som använder meddelandeblock.
Nedan följer en lista över alla block:
Värden — Läs meddelandeinformation eller kontrollera meddelande- och anslutningsstatus.
senaste meddelande — Rapporterar det senast lagrade textmeddelandet.
senaste data — Visar det senast lagrade numret.
är meddelandet tillgängligt? — Rapporterar om ett meddelande är tillgängligt för läsning.
är ansluten? — Rapporterar om roboten är länkad till en annan robot.
namn på länkad robot — Rapporterar namnet på den länkade roboten.
Åtgärder — Skicka eller lagra mottagna meddelanden.
skicka meddelande — Skickar text till den länkade roboten.
skicka meddelande med data — Skickar text och ett nummer till den länkade roboten.
hämta senaste meddelande — Lagrar nästa mottagna textmeddelande.
hämta senaste meddelande med data — Lagrar nästa mottagna textmeddelande och nummer.
Värden#
senaste meddelandet#
Blocket senaste meddelande rapporterar det senast lagrade textmeddelandet. Detta block tar inte emot ett nytt meddelande av sig självt. Använd först hämta senaste meddelande eller hämta senaste meddelande med data, använd sedan senaste meddelande för att visa den lagrade texten eller använda den i ett annat block.
(senaste meddelande)
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
Robot 1
när skärmen [tryckt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
skicka meddelande [Hello, Robot 2!]
Robot 2
när startad
[Code for Robot 2.]
[Display the message Robot 1 sends.]
skriv ut [Robot 2] på skärmen ▶
flytta markör till nästa rad på skärmen
vänta tills <finns meddelande?>
hämta senaste meddelande
skriv ut (senaste meddelande) på skärmen ▶
senaste uppgifterna#
Blocket senaste data rapporterar det senast lagrade numret från ett meddelande som innehöll data. Detta block hämtar inte ett nytt nummer av sig självt. Använd hämta senaste meddelande med data först, använd sedan senaste data i ett annat block, till exempel körsträcka, svängriktning eller hastighetsvärde.
(senaste data)
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
Robot 1
när startad
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
för alltid
skicka meddelande [heading] med data (riktning i grader)
avsluta
Robot 2
när startad
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
skriv ut [Robot 2] på skärmen ▶
för alltid
om <finns meddelande?> då
hämta senaste meddelande med data
sväng till riktning (senaste data) grader ▶
avsluta
avsluta
Finns meddelandet tillgängligt?#
Det booleska blocket är meddelandet tillgängligt? rapporterar om ett meddelande väntar i meddelandekön. Använd detta block före hämta senaste meddelande eller hämta senaste meddelande med data så att den mottagande roboten bara försöker lagra ett meddelande efter att ett har anlänt.
Sant — Det finns ett meddelande tillgängligt för läsning.
Falskt — Det finns inga meddelanden tillgängliga att läsa.
<finns meddelande?>
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
Robot 1
när skärmen [tryckt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
skicka meddelande [message]
Robot 2
när startad
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
skriv ut [Robot 2] på skärmen ▶
flytta markör till nästa rad på skärmen
vänta tills <finns meddelande?>
skriv ut [Received!] på skärmen ▶
är ansluten?#
Det booleska blocket är ansluten? rapporterar om roboten är länkad till en annan robot. Använd detta block innan du skickar eller väntar på meddelanden om projektet behöver kontrollera att robot-till-robot-anslutningen är klar.
Sant — Roboten är länkad till en annan robot.
Falskt — Roboten är inte länkad till en annan robot.
<ansluten?>
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Turn off one of the linked robots to see the message change.]
för alltid
rensa skärm
skriv ut <ansluten?> på skärmen ▶
avsluta
länkad robotnamn#
Blocket namn på länkad robot rapporterar namnet på den länkade roboten. Använd det här blocket för att visa vilken robot som är ansluten innan meddelanden skickas eller tas emot. Om ingen robot är länkad rapporterar blocket Ingen.
(länkad robotnamn)
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
när startad
[Display the name of the robot that is linked.]
skriv ut (länkad robotnamn) på skärmen ▶
Åtgärder#
skicka meddelande#
Stackblocket skicka meddelande skickar text till den länkade roboten. Använd detta block på en robot när den andra roboten behöver ta emot ett kommando, en signal eller en kort informationsstycke. På den mottagande roboten, använd är meddelandet tillgängligt? för att kontrollera att ett meddelande har kommit fram, använd sedan hämta senaste meddelande innan du läser det med senaste meddelande.
skicka meddelande [message]
Parameter |
Beskrivning |
|---|---|
meddelande |
Texten som ska skickas till den länkade roboten. |
Exempel
Robot 1
när skärmen [tryckt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
skicka meddelande [Hello, Robot 2!]
Robot 2
när startad
[Code for Robot 2.]
[Display the message Robot 1 sends.]
skriv ut [Robot 2] på skärmen ▶
flytta markör till nästa rad på skärmen
vänta tills <finns meddelande?>
hämta senaste meddelande
skriv ut (senaste meddelande) på skärmen ▶
skicka meddelande med data#
Stackblocket skicka meddelande med data skickar text och ett nummer till den länkade roboten. Använd detta block när meddelandet behöver en etikett och ett nummer, till exempel att skicka rubrik med robotens aktuella rubrikvärde. På den mottagande roboten, använd är meddelandet tillgängligt? för att kontrollera att ett meddelande har kommit fram, använd sedan hämta senaste meddelande med data innan du läser texten med senaste meddelande och numret med senaste data.
skicka meddelande [message] med data [0]
Parameter |
Beskrivning |
|---|---|
meddelande |
Texten som ska skickas till den länkade roboten. |
data |
Numret som ska skickas med meddelandet. |
Exempel
Robot 1
när startad
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
för alltid
skicka meddelande [heading] med data (riktning i grader)
avsluta
Robot 2
när startad
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
skriv ut [Robot 2] på skärmen ▶
för alltid
om <finns meddelande?> då
hämta senaste meddelande med data
sväng till riktning (senaste data) grader ▶
avsluta
avsluta
få senaste meddelandet#
Stackblocket get latest message tar nästa mottagna textmeddelande från meddelandekön och lagrar det så att projektet kan använda det. Använd detta block efter att is message available? rapporterar True och innan latest message används. Detta hjälper den mottagande roboten att spara meddelandet innan den försöker visa det, jämföra det eller använda det i ett annat block.
Använd skicka meddelande på den andra roboten för att skicka ett textmeddelande.
hämta senaste meddelande
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
Robot 1
när skärmen [tryckt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
skicka meddelande [Hello, Robot 2!]
Robot 2
när startad
[Code for Robot 2.]
[Display the message Robot 1 sends.]
skriv ut [Robot 2] på skärmen ▶
flytta markör till nästa rad på skärmen
vänta tills <finns meddelande?>
hämta senaste meddelande
skriv ut (senaste meddelande) på skärmen ▶
få senaste meddelandet med data#
Stackblocket hämta senaste meddelande med data tar nästa mottagna meddelande från meddelandekön och lagrar båda delarna av det: textmeddelandet och numret som skickades med det. Använd detta block efter att är meddelandet tillgängligt? rapporterar Sant och innan senaste meddelande eller senaste data används. Detta hjälper den mottagande roboten att spara båda värdena innan den använder dem, till exempel att vända sig till en kurs som en annan robot skickat.
Använd skicka meddelande med data på den andra roboten för att skicka texten och numret tillsammans.
hämta senaste meddelande med data
Parametrar |
Beskrivning |
|---|---|
Det här blocket har inga parametrar. |
Exempel
Robot 1
när startad
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
skriv ut [Robot 1] på skärmen ▶
för alltid
skicka meddelande [heading] med data (riktning i grader)
avsluta
Robot 2
när startad
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
skriv ut [Robot 2] på skärmen ▶
för alltid
om <finns meddelande?> då
hämta senaste meddelande med data
sväng till riktning (senaste data) grader ▶
avsluta
avsluta