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.

Actions — Envoyer ou stocker les messages reçus.

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 bloque le rapporteur#
(dernier message)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Robot 1

Lorsque l’écran est pressé, un message est envoyé au Robot 2.#
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, affiche le dernier message enregistré.#
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.

bloc de reporting de données le plus récent#
(dernières données)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Robot 1

Une fois démarré, il envoie en continu les instructions de direction du robot 1 au robot 2.#
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, il se met à jour pour correspondre aux dernières données enregistrées.#
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 ? Bloc booléen#
<le message est-il disponible ?>

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Robot 1

Lorsque l’écran est pressé, un message est envoyé au Robot 2.#
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, un message s’affiche lorsque le robot 1 envoie un message.#
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é ? Bloc booléen#
<est connecté ?>

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Au démarrage, il affiche si le robot est connecté.#
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.

bloc de rapporteur de nom de robot lié#
(nom du robot lié)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Au démarrage, affiche le nom du robot connecté.#
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.

bloc de pile d’envoi de message#
envoyer un message [message]

Paramètre

Description

message

Le texte à envoyer au robot lié.

Exemple

Robot 1

Lorsque l’écran est pressé, un message est envoyé au Robot 2.#
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, affiche le message envoyé par le robot 1.#
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 un message avec un bloc de pile de 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

Une fois démarré, il envoie en continu les instructions de direction du robot 1 au robot 2.#
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, il tourne pour suivre la direction envoyée par le robot 1.#
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 bloc de pile de messages#
obtenir le dernier message

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Robot 1

Lorsque l’écran est pressé, un message est envoyé au Robot 2.#
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, il stocke et affiche le message envoyé par le robot 1.#
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 le bloc de pile de données#
obtenir le dernier message avec les données

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Robot 1

Une fois démarré, il envoie en continu les instructions de direction du robot 1 au robot 2.#
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, il stocke les données du message et s’oriente pour correspondre à la direction du Robot 1.#
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