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.

Åtgärder — Skicka eller lagra mottagna meddelanden.

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 meddelandereporterblocket#
(senaste meddelande)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Robot 1

När skärmen trycks ned skickas ett meddelande till robot 2.#
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 den startas visas det senast lagrade meddelandet.#
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 datarapporteringsblocket#
(senaste data)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Robot 1

När den startas, skickar den kontinuerligt Robot 1:s kurs till Robot 2.#
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 den startas, vrids den för att matcha den senast lagrade datan.#
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.

Är meddelandet tillgängligt? Booleskt block#
<finns meddelande?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Robot 1

När skärmen trycks ned skickas ett meddelande till robot 2.#
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 den startas visas ett meddelande när robot 1 skickar ett meddelande.#
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.

Är ansluten? Booleskt block#
<ansluten?>

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

När den startas visas om roboten är ansluten.#
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 robotnamnsreporterblock#
(länkad robotnamn)

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

När den startas visas namnet på den länkade roboten.#
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 meddelandestackblock#
skicka meddelande [message]

Parameter

Beskrivning

meddelande

Texten som ska skickas till den länkade roboten.

Exempel

Robot 1

När skärmen trycks ned skickas ett meddelande till robot 2.#
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 den startas visas meddelandet som skickats av robot 1.#
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 med datastackblock#
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 den startas, skickar den kontinuerligt Robot 1:s kurs till Robot 2.#
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 den startas, svänger den för att matcha kursen som skickats av robot 1.#
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 det senaste meddelandestackblocket#
hämta senaste meddelande

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Robot 1

När skärmen trycks ned skickas ett meddelande till robot 2.#
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 den startas lagras och visas meddelandet som skickats av robot 1.#
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 meddelandet med datastackblocket#
hämta senaste meddelande med data

Parametrar

Beskrivning

Det här blocket har inga parametrar.

Exempel

Robot 1

När den startas, skickar den kontinuerligt Robot 1:s kurs till Robot 2.#
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 den startas lagras meddelandedata och svänger för att matcha Robot 1:s kurs.#
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