Message#
Introduction#
Deux robots de codage VEX AIM peuvent être connectés pour communiquer au cours d’un projet. Les blocs de messages permettent à un robot d’envoyer un message à l’autre. Un message peut contenir du texte seul ou du texte accompagné d’un nombre.
Les messages reçus sont stockés dans une file d’attente FIFO (premier entré, premier sorti). Cela signifie que le premier message reçu sera lu en premier.
Utilisez un bloc get latest message pour stocker le prochain message reçu. Utilisez ensuite le bloc rapporteur latest message pour lire le texte stocké. Si le message contient également un nombre, utilisez get latest message with data pour stocker les deux valeurs, puis utilisez latest message et latest data pour les lire.
Remarque : Pour que les messages soient envoyés et reçus, les deux robots doivent être liés et exécuter des projets utilisant des blocs de messages.
Vous trouverez ci-dessous la liste de tous les blocs :
Valeurs — Consultez les informations du message ou vérifiez l’état du message et de la connexion.
dernier message — Affiche le message texte enregistré le plus récemment.
dernières données — Indique le numéro enregistré le plus récemment.
le message est-il disponible ? — Indique si un message est disponible pour la lecture.
est connecté ? — Indique si le robot est lié à un autre robot.
nom du robot lié — Indique le nom du robot lié.
Actions — Envoyer ou stocker les messages reçus.
envoyer un message — Envoie du texte au robot lié.
envoyer un message avec des données — Envoie du texte et un numéro au robot lié.
obtenir le dernier message — Stocke le prochain message texte reçu.
obtenir le dernier message avec les données — Stocke le prochain message texte reçu et le numéro.
Valeurs#
dernier message#
Le bloc dernier message affiche le message texte le plus récent enregistré. Ce bloc ne reçoit pas de nouveau message par lui-même. Utilisez d’abord obtenir le dernier message ou obtenir le dernier message avec données, puis utilisez dernier message pour afficher le texte enregistré ou l’utiliser dans un autre bloc.
(dernier message)
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
Robot 1
quand l'écran est [pressé v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
afficher [Robot 1] sur l'écran ▶
envoyer un message [Hello, Robot 2!]
Robot 2
au démarrage
[Code for Robot 2.]
[Display the message Robot 1 sends.]
afficher [Robot 2] sur l'écran ▶
placer le curseur sur la ligne suivante sur l'écran
attendre jusqu'à <le message est-il disponible ?>
obtenir le dernier message
afficher (dernier message) sur l'écran ▶
dernières données#
Le bloc dernières données renvoie le nombre le plus récent enregistré dans un message contenant des données. Ce bloc ne génère pas de nouveau nombre par lui-même. Utilisez d’abord obtenir le dernier message avec données, puis dernières données dans un autre bloc, par exemple pour indiquer une distance parcourue, un cap ou une vitesse.
(dernières données)
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
Robot 1
au démarrage
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
afficher [Robot 1] sur l'écran ▶
indéfiniment
envoyer le message [heading] avec les données (cap en degrés)
fin
Robot 2
au démarrage
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
afficher [Robot 2] sur l'écran ▶
indéfiniment
si <le message est-il disponible ?> alors
obtenir le dernier message avec les données
pivoter au cap (dernières données) degrés ▶
fin
fin
Le message est-il disponible ?#
Le bloc booléen message disponible ? indique si un message est en attente dans la file d’attente. Utilisez ce bloc avant obtenir le dernier message ou obtenir le dernier message avec données afin que le robot récepteur ne tente de stocker un message qu’après sa réception.
Vrai — Un message est disponible pour être lu.
Faux — Aucun message n’est disponible pour la lecture.
<le message est-il disponible ?>
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
Robot 1
quand l'écran est [pressé v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
afficher [Robot 1] sur l'écran ▶
envoyer un message [message]
Robot 2
au démarrage
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
afficher [Robot 2] sur l'écran ▶
placer le curseur sur la ligne suivante sur l'écran
attendre jusqu'à <le message est-il disponible ?>
afficher [Received!] sur l'écran ▶
est connecté ?#
Le bloc booléen est connecté ? indique si le robot est connecté à un autre robot. Utilisez ce bloc avant d’envoyer ou d’attendre des messages si le projet doit vérifier que la connexion entre robots est établie.
Vrai — Le robot est relié à un autre robot.
Faux — Le robot n’est pas connecté à un autre robot.
<est connecté ?>
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Turn off one of the linked robots to see the message change.]
indéfiniment
effacer l'écran
afficher <est connecté ?> sur l'écran ▶
fin
nom du robot lié#
Le bloc nom du robot lié affiche le nom du robot connecté. Utilisez ce bloc pour indiquer quel robot est connecté avant l’envoi ou la réception de messages. Si aucun robot n’est connecté, ce bloc affiche Aucun.
(nom du robot lié)
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
au démarrage
[Display the name of the robot that is linked.]
afficher (nom du robot lié) sur l'écran ▶
Actes#
envoyer un message#
Le bloc envoyer un message envoie du texte au robot lié. Utilisez ce bloc sur un robot lorsque l’autre robot doit recevoir une commande, un signal ou une brève information. Sur le robot récepteur, utilisez message disponible ? pour vérifier la réception d’un message, puis utilisez obtenir le dernier message avant de le lire avec dernier message.
envoyer un message [message]
Paramètre |
Description |
|---|---|
message |
Le texte à envoyer au robot lié. |
Exemple
Robot 1
quand l'écran est [pressé v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
afficher [Robot 1] sur l'écran ▶
envoyer un message [Hello, Robot 2!]
Robot 2
au démarrage
[Code for Robot 2.]
[Display the message Robot 1 sends.]
afficher [Robot 2] sur l'écran ▶
placer le curseur sur la ligne suivante sur l'écran
attendre jusqu'à <le message est-il disponible ?>
obtenir le dernier message
afficher (dernier message) sur l'écran ▶
envoyer un message avec des données#
Le bloc envoyer un message avec des données envoie du texte et un nombre au robot lié. Utilisez ce bloc lorsque le message nécessite une étiquette et un nombre, par exemple pour envoyer heading avec la valeur de cap actuelle du robot. Sur le robot récepteur, utilisez message disponible ? pour vérifier la réception d’un message, puis utilisez obtenir le dernier message avec des données avant de lire le texte avec dernier message et le nombre avec dernières données.
envoyer le message [message] avec les données [0]
Paramètre |
Description |
|---|---|
message |
Le texte à envoyer au robot lié. |
données |
Le numéro à envoyer avec le message. |
Exemple
Robot 1
au démarrage
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
afficher [Robot 1] sur l'écran ▶
indéfiniment
envoyer le message [heading] avec les données (cap en degrés)
fin
Robot 2
au démarrage
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
afficher [Robot 2] sur l'écran ▶
indéfiniment
si <le message est-il disponible ?> alors
obtenir le dernier message avec les données
pivoter au cap (dernières données) degrés ▶
fin
fin
recevoir le dernier message#
Le bloc récupérer le dernier message récupère le prochain message texte reçu de la file d’attente et le stocke pour que le projet puisse l’utiliser. Utilisez ce bloc après que message disponible ? ait renvoyé Vrai et avant d’utiliser dernier message. Cela permet au robot récepteur d’enregistrer le message avant de tenter de l’afficher, de le comparer ou de l’utiliser dans un autre bloc.
Utilisez envoyer un message sur l’autre robot pour envoyer un message uniquement en texte.
obtenir le dernier message
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
Robot 1
quand l'écran est [pressé v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
afficher [Robot 1] sur l'écran ▶
envoyer un message [Hello, Robot 2!]
Robot 2
au démarrage
[Code for Robot 2.]
[Display the message Robot 1 sends.]
afficher [Robot 2] sur l'écran ▶
placer le curseur sur la ligne suivante sur l'écran
attendre jusqu'à <le message est-il disponible ?>
obtenir le dernier message
afficher (dernier message) sur l'écran ▶
recevoir le dernier message avec les données#
Le bloc récupérer le dernier message avec données récupère le prochain message reçu de la file d’attente et stocke ses deux parties : le message texte et le numéro qui l’accompagne. Utilisez ce bloc après que message disponible ? a renvoyé Vrai et avant d’utiliser dernier message ou dernières données. Cela permet au robot récepteur d’enregistrer ces deux valeurs avant de les utiliser, par exemple pour suivre une direction envoyée par un autre robot.
Utilisez envoyer un message avec des données sur l’autre robot pour envoyer le texte et le nombre ensemble.
obtenir le dernier message avec les données
Paramètres |
Description |
|---|---|
Ce bloc ne comporte aucun paramètre. |
Exemple
Robot 1
au démarrage
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
afficher [Robot 1] sur l'écran ▶
indéfiniment
envoyer le message [heading] avec les données (cap en degrés)
fin
Robot 2
au démarrage
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
afficher [Robot 2] sur l'écran ▶
indéfiniment
si <le message est-il disponible ?> alors
obtenir le dernier message avec les données
pivoter au cap (dernières données) degrés ▶
fin
fin