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.
Neueste Nachricht — Zeigt die zuletzt gespeicherte Textnachricht an.
Neueste Daten — Gibt die zuletzt gespeicherte Zahl an.
Ist eine Nachricht verfügbar? — Meldet, ob eine Nachricht zum Lesen verfügbar ist.
ist verbunden? — Meldet, ob der Roboter mit einem anderen Roboter verbunden ist.
Name des verknüpften Roboters — Gibt den Namen des verknüpften Roboters aus.
Aktionen – Empfangene Nachrichten senden oder speichern.
Nachricht senden — Sendet eine Nachricht an den verknüpften Roboter.
Nachricht mit Daten senden — Sendet Text und eine Zahl an den verknüpften Roboter.
Neueste Nachricht abrufen — Speichert die nächste empfangene SMS.
Neueste Nachricht mit Daten abrufen — Speichert die nächste empfangene SMS und die Nummer.
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 Nachricht)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
Roboter 1
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
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 Daten)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
Roboter 1
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
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.
<Nachricht verfügbar?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
Roboter 1
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
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.
<verbunden?>
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
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“.
(Name des verbundenen Roboters)
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
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.
sende Nachricht [message]
Parameter |
Beschreibung |
|---|---|
Nachricht |
Der Text, der an den verknüpften Roboter gesendet werden soll. |
Beispiel
Roboter 1
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
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.
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
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
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.
neueste Nachricht holen
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
Roboter 1
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
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 Daten holen
Parameter |
Beschreibung |
|---|---|
Dieser Block hat keine Parameter. |
Beispiel
Roboter 1
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
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