Nachricht#

Einführung#

Zwei VEX AIM Programmierroboter können miteinander verbunden werden, um während eines Projekts zu kommunizieren. Mithilfe von Nachrichtenblöcken kann ein Roboter dem anderen eine Nachricht senden. Eine Nachricht kann entweder nur Text oder Text mit einer Zahl enthalten.

Empfangene Nachrichten werden in einer FIFO-Warteschlange (First-In, First-Out) gespeichert. Das bedeutet, dass die erste empfangene Nachricht auch als erste gelesen wird.

Verwenden Sie einen get latest message-Block, um die nächste empfangene Nachricht zu speichern. Lesen Sie anschließend den gespeicherten Text mit dem latest message-Reporterblock. Enthält die Nachricht auch eine Zahl, speichern Sie beide Werte mit get latest message with data und lesen Sie sie dann mit latest message und latest data aus.

Hinweis: Damit Nachrichten gesendet und empfangen werden können, müssen beide Roboter miteinander verbunden sein und auf beiden Robotern Projekte ausführen, die Message-Blöcke verwenden.

Nachfolgend finden Sie eine Liste aller Blöcke:

Werte – Nachrichteninformationen lesen oder Nachrichten- und Verbindungsstatus prüfen.

Aktionen – Empfangene Nachrichten senden oder speichern.

Werte#

neueste Nachricht#

The latest message reporter block reports the most recently stored text message. This block does not get a new message by itself. Use get latest message or get latest message with data first, then use latest message to display the stored text or use it in another block.

neueste Meldung Reporterblock#
(neueste Nachricht)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Roboter 1

Beim Drücken des Bildschirms wird eine Nachricht an Roboter 2 gesendet.#
wenn Bildschirm [gedrückt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
sende Nachricht [Hello, Robot 2!]

Roboter 2

Beim Start wird die zuletzt gespeicherte Nachricht angezeigt.#
wenn gestartet
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drucke [Robot 2] auf Bildschirm ▶
setze Cursor in nächste Zeile auf Bildschirm
warte bis <Nachricht verfügbar?>
neueste Nachricht holen
drucke (neueste Nachricht) auf Bildschirm ▶

neueste Daten#

Der Aktuelle Daten-Reporterblock gibt die zuletzt gespeicherte Zahl aus einer Nachricht mit Daten aus. Dieser Block selbst erhält keine neue Zahl. Verwenden Sie zuerst Neueste Nachricht mit Daten abrufen, und anschließend Aktuelle Daten in einem anderen Block, z. B. für eine Fahrstrecke, eine Abbiegerichtung oder einen Geschwindigkeitswert.

neueste Datenreporter-Block#
(neueste Daten)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Roboter 1

Nach dem Start sendet Roboter 1 kontinuierlich seine Richtung an Roboter 2.#
wenn gestartet
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
für immer
sende Nachricht [heading] mit Daten (Kurswinkel in Grad)
Ende

Roboter 2

Beim Start werden die Einstellungen an die zuletzt gespeicherten Daten angepasst.#
wenn gestartet
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drucke [Robot 2] auf Bildschirm ▶
für immer
wenn <Nachricht verfügbar?> dann
neueste Nachricht mit Daten holen
drehe zu Kurswinkel (neueste Daten) Grad ▶
Ende
Ende

Ist eine Nachricht verfügbar?#

Der boolesche Block Ist eine Nachricht verfügbar? gibt an, ob eine Nachricht in der Nachrichtenwarteschlange wartet. Verwenden Sie diesen Block vor Neueste Nachricht abrufen oder Neueste Nachricht mit Daten abrufen, damit der empfangende Roboter erst dann versucht, eine Nachricht zu speichern, wenn eine eingegangen ist.

  • Wahr — Es ist eine Nachricht zum Lesen verfügbar.

  • Falsch — Es sind keine Nachrichten zum Lesen verfügbar.

Ist eine Nachricht verfügbar? Boolescher Block#
<Nachricht verfügbar?>

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Roboter 1

Beim Drücken des Bildschirms wird eine Nachricht an Roboter 2 gesendet.#
wenn Bildschirm [gedrückt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
sende Nachricht [message]

Roboter 2

Beim Start wird eine Meldung angezeigt, wenn Roboter 1 eine Nachricht sendet.#
wenn gestartet
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
drucke [Robot 2] auf Bildschirm ▶
setze Cursor in nächste Zeile auf Bildschirm
warte bis <Nachricht verfügbar?>
drucke [Received!] auf Bildschirm ▶

Ist eine Verbindung hergestellt?#

Der boolesche Block ist verbunden? gibt an, ob der Roboter mit einem anderen Roboter verbunden ist. Verwenden Sie diesen Block vor dem Senden oder Warten auf Nachrichten, wenn das Projekt prüfen muss, ob die Roboter-zu-Roboter-Verbindung bereit ist.

  • Wahr — Der Roboter ist mit einem anderen Roboter verbunden.

  • Falsch — Der Roboter ist nicht mit einem anderen Roboter verbunden.

Ist verbunden? Boolescher Block#
<verbunden?>

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Beim Start wird angezeigt, ob der Roboter verbunden ist.#
wenn gestartet
[Turn off one of the linked robots to see the message change.]
für immer
Bildschirm löschen
drucke <verbunden?> auf Bildschirm ▶
Ende

Name des verknüpften Roboters#

Der Reporterblock „Name des verknüpften Roboters“ zeigt den Namen des verknüpften Roboters an. Verwenden Sie diesen Block, um vor dem Senden oder Empfangen von Nachrichten anzuzeigen, welcher Roboter verbunden ist. Wenn kein Roboter verknüpft ist, meldet dieser Block „Kein Roboter“.

verknüpfter Roboternamen-Reporterblock#
(Name des verbundenen Roboters)

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Beim Start wird der Name des verbundenen Roboters angezeigt.#
wenn gestartet
[Display the name of the robot that is linked.]
drucke (Name des verbundenen Roboters) auf Bildschirm ▶

Aktionen#

Nachricht senden#

Der Nachricht senden-Block sendet Text an den verknüpften Roboter. Verwenden Sie diesen Block auf einem Roboter, wenn der andere Roboter einen Befehl, ein Signal oder eine kurze Information empfangen muss. Prüfen Sie auf dem empfangenden Roboter mit Ist Nachricht verfügbar?, ob eine Nachricht eingegangen ist, und verwenden Sie anschließend Neueste Nachricht abrufen, bevor Sie sie mit Neueste Nachricht lesen.

Nachrichtenstapelblock senden#
sende Nachricht [message]

Parameter

Beschreibung

Nachricht

Der Text, der an den verknüpften Roboter gesendet werden soll.

Beispiel

Roboter 1

Beim Drücken des Bildschirms wird eine Nachricht an Roboter 2 gesendet.#
wenn Bildschirm [gedrückt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
sende Nachricht [Hello, Robot 2!]

Roboter 2

Beim Start wird die von Roboter 1 gesendete Nachricht angezeigt.#
wenn gestartet
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drucke [Robot 2] auf Bildschirm ▶
setze Cursor in nächste Zeile auf Bildschirm
warte bis <Nachricht verfügbar?>
neueste Nachricht holen
drucke (neueste Nachricht) auf Bildschirm ▶

Nachricht mit Daten senden#

Der Nachricht mit Daten senden-Block sendet Text und eine Zahl an den verknüpften Roboter. Verwenden Sie diesen Block, wenn die Nachricht eine Bezeichnung und eine Zahl benötigt, z. B. um heading mit dem aktuellen Wert der Roboter-Richtung zu senden. Prüfen Sie auf dem empfangenden Roboter mit Ist Nachricht verfügbar?, ob eine Nachricht eingegangen ist. Verwenden Sie anschließend Neueste Nachricht mit Daten abrufen, bevor Sie den Text mit Neueste Nachricht und die Zahl mit Neueste Daten lesen.

Nachricht mit Datenstapelblock senden#
sende Nachricht [message] mit Daten [0]

Parameter

Beschreibung

Nachricht

Der Text, der an den verknüpften Roboter gesendet werden soll.

Daten

Die Nummer, die mit der Nachricht gesendet werden soll.

Beispiel

Roboter 1

Nach dem Start sendet Roboter 1 kontinuierlich seine Richtung an Roboter 2.#
wenn gestartet
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
für immer
sende Nachricht [heading] mit Daten (Kurswinkel in Grad)
Ende

Roboter 2

Nach dem Start richtet sich das Fluggerät nach der von Roboter 1 gesendeten Richtung aus.#
wenn gestartet
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drucke [Robot 2] auf Bildschirm ▶
für immer
wenn <Nachricht verfügbar?> dann
neueste Nachricht mit Daten holen
drehe zu Kurswinkel (neueste Daten) Grad ▶
Ende
Ende

Neueste Nachricht abrufen#

Der Block „Neueste Nachricht abrufen“ liest die nächste empfangene Textnachricht aus der Nachrichtenwarteschlange und speichert sie, damit das Projekt sie verwenden kann. Verwenden Sie diesen Block, nachdem Ist Nachricht verfügbar? Wahr meldet und bevor Sie Neueste Nachricht verwenden. Dadurch kann der empfangende Roboter die Nachricht speichern, bevor er versucht, sie anzuzeigen, zu vergleichen oder in einem anderen Block zu verwenden.

Verwenden Sie send message auf dem anderen Roboter, um eine reine Textnachricht zu senden.

Neuesten Nachrichtenstapelblock abrufen#
neueste Nachricht holen

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Roboter 1

Beim Drücken des Bildschirms wird eine Nachricht an Roboter 2 gesendet.#
wenn Bildschirm [gedrückt v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
sende Nachricht [Hello, Robot 2!]

Roboter 2

Beim Start speichert und zeigt es die von Roboter 1 gesendete Nachricht an.#
wenn gestartet
[Code for Robot 2.]
[Display the message Robot 1 sends.]
drucke [Robot 2] auf Bildschirm ▶
setze Cursor in nächste Zeile auf Bildschirm
warte bis <Nachricht verfügbar?>
neueste Nachricht holen
drucke (neueste Nachricht) auf Bildschirm ▶

Neueste Nachricht mit Daten abrufen#

Der neueste Nachricht mit Daten abrufen-Block liest die nächste empfangene Nachricht aus der Nachrichtenwarteschlange und speichert beide Teile: den Text und die zugehörige Nummer. Verwenden Sie diesen Block, nachdem Ist Nachricht verfügbar? Wahr meldet und bevor Sie Neueste Nachricht oder Neueste Daten verwenden. Dies hilft dem empfangenden Roboter, beide Werte zu speichern, bevor er sie verwendet, beispielsweise um einer von einem anderen Roboter gesendeten Richtung zu folgen.

Verwenden Sie send message with data auf dem anderen Roboter, um den Text und die Nummer zusammen zu senden.

Neueste Nachricht mit Datenstapelblock abrufen#
neueste Nachricht mit Daten holen

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Roboter 1

Nach dem Start sendet Roboter 1 kontinuierlich seine Richtung an Roboter 2.#
wenn gestartet
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
drucke [Robot 1] auf Bildschirm ▶
für immer
sende Nachricht [heading] mit Daten (Kurswinkel in Grad)
Ende

Roboter 2

Beim Start speichert es die Nachrichtendaten und richtet sich nach der Fahrtrichtung von Roboter 1 aus.#
wenn gestartet
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
drucke [Robot 2] auf Bildschirm ▶
für immer
wenn <Nachricht verfügbar?> dann
neueste Nachricht mit Daten holen
drehe zu Kurswinkel (neueste Daten) Grad ▶
Ende
Ende