Mensaje#
Introducción#
Dos robots de codificación VEX AIM pueden conectarse para comunicarse durante un proyecto. Los bloques de mensajes permiten que un robot envíe un mensaje al otro. Un mensaje puede incluir texto solo o texto con un número.
Los mensajes recibidos se almacenan en una cola de tipo primero en entrar, primero en salir (FIFO). Esto significa que el primer mensaje recibido será el primero en leerse.
Utilice un bloque obtener el último mensaje para almacenar el siguiente mensaje recibido. A continuación, utilice el bloque de informe último mensaje para leer el texto almacenado. Si el mensaje también incluye un número, utilice obtener el último mensaje con datos para almacenar ambos valores y, a continuación, utilice último mensaje y últimos datos para leerlos.
Nota: Para que se envíen y reciban mensajes, ambos robots deben estar vinculados y ambos robots deben estar ejecutando proyectos que utilicen bloques de mensajes.
A continuación se muestra una lista de todos los bloques:
Valores: Lea la información del mensaje o compruebe el estado del mensaje y de la conexión.
último mensaje — Informa el mensaje de texto almacenado más recientemente.
datos más recientes — Informa el número almacenado más recientemente.
¿Hay mensaje disponible? — Indica si hay un mensaje disponible para leer.
¿está conectado? — Informa si el robot está vinculado con otro robot.
nombre del robot vinculado — Informa el nombre del robot vinculado.
Acciones: Enviar o almacenar los mensajes recibidos.
enviar mensaje — Envía texto al robot vinculado.
enviar mensaje con datos — Envía texto y un número al robot vinculado.
obtener último mensaje — Almacena el siguiente mensaje de texto recibido.
obtener el último mensaje con datos — Almacena el siguiente mensaje de texto y número recibido.
Valores#
último mensaje#
El bloque de informe último mensaje informa el mensaje de texto almacenado más recientemente. Este bloque no obtiene un nuevo mensaje por sí mismo. Primero, utilice obtener último mensaje o obtener último mensaje con datos, y luego utilice último mensaje para mostrar el texto almacenado o úselo en otro bloque.
(último mensaje)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
Robot 1
cuando la pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
enviar mensaje [Hello, Robot 2!]
Robot 2
cuando empezó
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en la pantalla ▶
Colocar el cursor en la siguiente fila de la pantalla
esperar hasta <¿Está disponible el mensaje?>
recibir el último mensaje
imprimir (último mensaje) en la pantalla ▶
últimos datos#
El bloque de informe datos más recientes informa el número almacenado más recientemente de un mensaje que incluía datos. Este bloque no obtiene un número nuevo por sí mismo. Primero, utilice obtener el último mensaje con datos, y luego utilice datos más recientes en otro bloque, como una distancia de conducción, un rumbo de giro o un valor de velocidad.
(últimos datos)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
Robot 1
cuando empezó
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
para siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin
Robot 2
cuando empezó
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en la pantalla ▶
para siempre
si <¿Está disponible el mensaje?> entonces
Obtenga el último mensaje con datos
girar hacia el rumbo (últimos datos) grados ▶
fin
fin
¿Está disponible el mensaje?#
El bloque booleano ¿Hay mensaje disponible? indica si hay un mensaje esperando en la cola de mensajes. Utilice este bloque antes de obtener el último mensaje o obtener el último mensaje con datos para que el robot receptor solo intente almacenar un mensaje después de que haya llegado.
Verdadero — Hay un mensaje disponible para leer.
Falso — No hay mensajes disponibles para leer.
<¿Está disponible el mensaje?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
Robot 1
cuando la pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
enviar mensaje [message]
Robot 2
cuando empezó
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
imprimir [Robot 2] en la pantalla ▶
Colocar el cursor en la siguiente fila de la pantalla
esperar hasta <¿Está disponible el mensaje?>
imprimir [Received!] en la pantalla ▶
¿está conectado?#
El bloque booleano ¿está conectado? indica si el robot está conectado con otro robot. Utilice este bloque antes de enviar o esperar mensajes si el proyecto necesita comprobar que la conexión entre robots esté lista.
Verdadero — El robot está conectado con otro robot.
Falso — El robot no está vinculado con otro robot.
<¿está conectado?>
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Turn off one of the linked robots to see the message change.]
para siempre
pantalla clara
imprimir <¿está conectado?> en la pantalla ▶
fin
nombre del robot vinculado#
El bloque de informe nombre del robot vinculado muestra el nombre del robot vinculado. Utilice este bloque para indicar qué robot está conectado antes de enviar o recibir mensajes. Si no hay ningún robot vinculado, este bloque muestra Ninguno.
(linked robot name)
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
cuando empezó
[Display the name of the robot that is linked.]
imprimir (linked robot name) en la pantalla ▶
Comportamiento#
enviar mensaje#
El bloque de pila enviar mensaje envía texto al robot vinculado. Utilice este bloque en un robot cuando el otro necesite recibir un comando, una señal o una breve información. En el robot receptor, utilice ¿Hay mensaje disponible? para comprobar que ha llegado un mensaje y, a continuación, utilice obtener último mensaje antes de leerlo con último mensaje.
enviar mensaje [message]
Parámetro |
Descripción |
|---|---|
mensaje |
El texto que se enviará al robot vinculado. |
Ejemplo
Robot 1
cuando la pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
enviar mensaje [Hello, Robot 2!]
Robot 2
cuando empezó
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en la pantalla ▶
Colocar el cursor en la siguiente fila de la pantalla
esperar hasta <¿Está disponible el mensaje?>
recibir el último mensaje
imprimir (último mensaje) en la pantalla ▶
enviar mensaje con datos#
El bloque de pila enviar mensaje con datos envía texto y un número al robot vinculado. Utilice este bloque cuando el mensaje necesite una etiqueta y un número, como enviar rumbo con el valor de rumbo actual del robot. En el robot receptor, utilice ¿hay mensaje disponible? para comprobar que ha llegado un mensaje, luego utilice obtener último mensaje con datos antes de leer el texto con último mensaje y el número con últimos datos.
enviar mensaje [message] con datos [0]
Parámetro |
Descripción |
|---|---|
mensaje |
El texto que se enviará al robot vinculado. |
datos |
El número que se enviará con el mensaje. |
Ejemplo
Robot 1
cuando empezó
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
para siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin
Robot 2
cuando empezó
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en la pantalla ▶
para siempre
si <¿Está disponible el mensaje?> entonces
Obtenga el último mensaje con datos
girar hacia el rumbo (últimos datos) grados ▶
fin
fin
recibir el último mensaje#
El bloque obtener último mensaje toma el siguiente mensaje de texto recibido de la cola de mensajes y lo almacena para que el proyecto pueda usarlo. Utilice este bloque después de que ¿hay mensaje disponible? indique Verdadero y antes de usar último mensaje. Esto ayuda al robot receptor a guardar el mensaje antes de intentar mostrarlo, compararlo o usarlo en otro bloque.
Utilice enviar mensaje en el otro robot para enviar un mensaje solo de texto.
recibir el último mensaje
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
Robot 1
cuando la pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
enviar mensaje [Hello, Robot 2!]
Robot 2
cuando empezó
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en la pantalla ▶
Colocar el cursor en la siguiente fila de la pantalla
esperar hasta <¿Está disponible el mensaje?>
recibir el último mensaje
imprimir (último mensaje) en la pantalla ▶
Obtenga el último mensaje con datos#
El bloque de pila obtener el último mensaje con datos toma el siguiente mensaje recibido de la cola de mensajes y almacena ambas partes: el mensaje de texto y el número enviado con él. Utilice este bloque después de que ¿hay mensaje disponible? indique Verdadero y antes de usar último mensaje o últimos datos. Esto ayuda al robot receptor a guardar ambos valores antes de usarlos, por ejemplo, al girar hacia una dirección enviada por otro robot.
Utilice enviar mensaje con datos en el otro robot para enviar el texto y el número juntos.
Obtenga el último mensaje con datos
Parámetros |
Descripción |
|---|---|
Este bloque no tiene parámetros. |
Ejemplo
Robot 1
cuando empezó
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en la pantalla ▶
para siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin
Robot 2
cuando empezó
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en la pantalla ▶
para siempre
si <¿Está disponible el mensaje?> entonces
Obtenga el último mensaje con datos
girar hacia el rumbo (últimos datos) grados ▶
fin
fin