Bericht#

Invoering#

Twee VEX AIM-codeerrobots kunnen aan elkaar gekoppeld worden zodat ze tijdens een project met elkaar kunnen communiceren. Met behulp van berichtblokken kan de ene robot een bericht naar de andere sturen. Een bericht kan bestaan ​​uit alleen tekst, of uit tekst in combinatie met een getal.

Ontvangen berichten worden opgeslagen in een FIFO-wachtrij (first-in, first-out). Dit betekent dat het eerste bericht dat binnenkomt, ook als eerste wordt gelezen.

Gebruik een laatste bericht ophalen blok om het volgende ontvangen bericht op te slaan. Gebruik vervolgens het laatste bericht reporterblok om de opgeslagen tekst te lezen. Als het bericht ook een getal bevat, gebruik dan laatste bericht ophalen met gegevens om beide waarden op te slaan en gebruik vervolgens laatste bericht en laatste gegevens om ze te lezen.

Let op: Om berichten te kunnen verzenden en ontvangen, moeten beide robots gekoppeld zijn en moeten beide robots projecten uitvoeren die gebruikmaken van berichtblokken.

Hieronder vindt u een lijst van alle blokken:

Waarden — Lees berichtinformatie of controleer de bericht- en verbindingsstatus.

Acties — Berichten verzenden of ontvangen.

Waarden#

laatste bericht#

Het laatste bericht-rapportblok geeft het meest recent opgeslagen tekstbericht weer. Dit blok ontvangt zelf geen nieuw bericht. Gebruik eerst laatste bericht ophalen of laatste bericht met gegevens ophalen, en gebruik vervolgens laatste bericht om de opgeslagen tekst weer te geven of in een ander blok te gebruiken.

laatste bericht reporter blok#
(laatste bericht)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Robot 1

Wanneer het scherm wordt ingedrukt, wordt er een bericht naar Robot 2 verzonden.#
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]

Robot 2

Bij het opstarten wordt het laatst opgeslagen bericht weergegeven.#
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶

meest recente gegevens#

Het laatste gegevens-rapportageblok rapporteert het meest recent opgeslagen getal uit een bericht dat gegevens bevatte. Dit blok haalt zelf geen nieuw getal op. Gebruik eerst laatste bericht met gegevens ophalen en gebruik vervolgens laatste gegevens in een ander blok, bijvoorbeeld voor een rijafstand, richting of snelheid.

nieuwste gegevensreporterblok#
(laatste gegevens)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Robot 1

Bij het opstarten stuurt het continu de koers van Robot 1 naar Robot 2.#
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde

Robot 2

Bij het opstarten past het apparaat zich aan de laatst opgeslagen gegevens aan.#
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde

Is het bericht beschikbaar?#

Het Booleaanse blok is bericht beschikbaar? geeft aan of er een bericht in de berichtenwachtrij staat. Gebruik dit blok vóór laatste bericht ophalen of laatste bericht met gegevens ophalen, zodat de ontvangende robot pas probeert een bericht op te slaan nadat er daadwerkelijk een bericht is aangekomen.

  • Klopt — Er is een bericht beschikbaar om te lezen.

  • Onjuist — Er zijn geen berichten beschikbaar om te lezen.

Is het bericht beschikbaar? Booleaanse blok#
<is bericht beschikbaar?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Robot 1

Wanneer het scherm wordt ingedrukt, wordt er een bericht naar Robot 2 verzonden.#
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [message]

Robot 2

Bij het opstarten wordt een bericht weergegeven wanneer Robot 1 een bericht verzendt.#
wanneer gestart
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
druk [Received!] af op scherm ▶

Is het verbonden?#

Het Booleaanse blok is verbonden? geeft aan of de robot is verbonden met een andere robot. Gebruik dit blok vóór het verzenden van berichten of het wachten op berichten als het project moet controleren of de robot-naar-robotverbinding gereed is.

  • Klopt — De robot is verbonden met een andere robot.

  • Onjuist — De robot is niet gekoppeld aan een andere robot.

Is verbonden? Booleaanse blok#
<verbonden?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Bij het opstarten wordt weergegeven of de robot is verbonden.#
wanneer gestart
[Turn off one of the linked robots to see the message change.]
altijd
wis scherm
druk <verbonden?> af op scherm ▶
einde

gekoppelde robotnaam#

Het linked robot name reporterblok geeft de naam van de gekoppelde robot weer. Gebruik dit blok om te laten zien welke robot is verbonden voordat je berichten verzendt of ontvangt. Als er geen robot is gekoppeld, geeft dit blok Geen weer.

gekoppelde robotnaam reporterblok#
(naam van gekoppelde robot)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Bij het opstarten wordt de naam van de gekoppelde robot weergegeven.#
wanneer gestart
[Display the name of the robot that is linked.]
druk (naam van gekoppelde robot) af op scherm ▶

Acties#

bericht verzenden#

Het stackblok bericht verzenden stuurt tekst naar de gekoppelde robot. Gebruik dit blok op één robot wanneer de andere robot een commando, signaal of kort stukje informatie moet ontvangen. Gebruik op de ontvangende robot is bericht beschikbaar? om te controleren of er een bericht is aangekomen, en gebruik vervolgens laatste bericht ophalen voordat je het leest met laatste bericht.

verzend bericht stapelblok#
stuur bericht [message]

Parameter

Beschrijving

bericht

De tekst die naar de gekoppelde robot moet worden verzonden.

Voorbeeld

Robot 1

Wanneer het scherm wordt ingedrukt, wordt er een bericht naar Robot 2 verzonden.#
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]

Robot 2

Bij het opstarten wordt het bericht weergegeven dat door Robot 1 is verzonden.#
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶

Bericht verzenden met gegevens#

Het stackblok bericht verzenden met gegevens verzendt tekst en een getal naar de gekoppelde robot. Gebruik dit blok wanneer het bericht een label en een getal nodig heeft, bijvoorbeeld om richting te verzenden met de huidige richtingwaarde van de robot. Gebruik op de ontvangende robot is bericht beschikbaar? om te controleren of er een bericht is aangekomen, en gebruik vervolgens laatste bericht met gegevens ophalen voordat u de tekst leest met laatste bericht en het getal met laatste gegevens.

Verzend bericht met datastackblok#
stuur bericht [message] met gegevens [0]

Parameter

Beschrijving

bericht

De tekst die naar de gekoppelde robot moet worden verzonden.

gegevens

Het nummer dat met het bericht moet worden meegestuurd.

Voorbeeld

Robot 1

Bij het opstarten stuurt het continu de koers van Robot 1 naar Robot 2.#
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde

Robot 2

Bij het starten draait het apparaat zich om de richting aan te nemen die door Robot 1 wordt aangegeven.#
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde

ontvang het laatste bericht#

Het stackblok laatste bericht ophalen haalt het eerstvolgende ontvangen tekstbericht uit de berichtenwachtrij en slaat het op, zodat het project het kan gebruiken. Gebruik dit blok nadat is bericht beschikbaar? True rapporteert en voordat u laatste bericht gebruikt. Dit helpt de ontvangende robot het bericht op te slaan voordat hij het probeert weer te geven, te vergelijken of in een ander blok te gebruiken.

Gebruik bericht verzenden op de andere robot om een ​​bericht te verzenden dat alleen uit tekst bestaat.

Haal het laatste berichtstapelblok op#
haal laatste bericht op

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Robot 1

Wanneer het scherm wordt ingedrukt, wordt er een bericht naar Robot 2 verzonden.#
wanneer scherm [ingedrukt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
druk [Robot 1] af op scherm ▶
stuur bericht [Hello, Robot 2!]

Robot 2

Bij het opstarten slaat het apparaat het bericht op dat door Robot 1 is verzonden en geeft dit weer.#
wanneer gestart
[Code for Robot 2.]
[Display the message Robot 1 sends.]
druk [Robot 2] af op scherm ▶
cursor naar volgende rij op scherm
wacht totdat <is bericht beschikbaar?>
haal laatste bericht op
druk (laatste bericht) af op scherm ▶

Ontvang het laatste bericht met gegevens#

Het stackblok laatste bericht met gegevens ophalen neemt het volgende ontvangen bericht uit de berichtenwachtrij en slaat beide delen ervan op: het tekstbericht en het bijbehorende nummer. Gebruik dit blok nadat is bericht beschikbaar? True rapporteert en voordat u laatste bericht of laatste gegevens gebruikt. Dit helpt de ontvangende robot om beide waarden op te slaan voordat ze worden gebruikt, bijvoorbeeld om naar een richting te gaan die een andere robot heeft verzonden.

Gebruik bericht met gegevens verzenden op de andere robot om de tekst en het nummer samen te verzenden.

Haal het laatste bericht op met een datastackblok.#
haal laatste bericht met gegevens op

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

Robot 1

Bij het opstarten stuurt het continu de koers van Robot 1 naar Robot 2.#
wanneer gestart
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
druk [Robot 1] af op scherm ▶
altijd
stuur bericht [heading] met gegevens (koers in graden)
einde

Robot 2

Bij het opstarten slaat het de berichtgegevens op en draait het mee met de richting van Robot 1.#
wanneer gestart
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
druk [Robot 2] af op scherm ▶
altijd
als <is bericht beschikbaar?> dan
haal laatste bericht met gegevens op
draai naar koers (laatste gegevens) graden ▶
einde
einde