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.

Acciones: Enviar o almacenar los mensajes recibidos.

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 del bloque de reportero#
(último mensaje)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Al pulsar la pantalla, se envía un mensaje al Robot 2.#
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

Al iniciarse, muestra el último mensaje almacenado.#
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.

último bloque de reportero de datos#
(últimos datos)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Una vez iniciado, envía continuamente la dirección del Robot 1 al Robot 2.#
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

Al iniciarse, gira para coincidir con los últimos datos almacenados.#
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? Bloque booleano#
<¿Está disponible el mensaje?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Al pulsar la pantalla, se envía un mensaje al Robot 2.#
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

Al iniciarse, muestra un mensaje cuando el Robot 1 envía un mensaje.#
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? Bloque booleano#
<¿está conectado?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Al iniciarse, muestra si el robot está conectado.#
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.

Bloque de reportero con nombre de robot vinculado#
(linked robot name)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Al iniciarse, muestra el nombre del robot vinculado.#
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 bloque de pila de mensajes#
enviar mensaje [message]

Parámetro

Descripción

mensaje

El texto que se enviará al robot vinculado.

Ejemplo

Robot 1

Al pulsar la pantalla, se envía un mensaje al Robot 2.#
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

Al iniciarse, muestra el mensaje enviado por el Robot 1.#
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 con bloque de pila de 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

Una vez iniciado, envía continuamente la dirección del Robot 1 al Robot 2.#
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

Al arrancar, gira para coincidir con la dirección enviada por el Robot 1.#
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.

obtener el último bloque de pila de mensajes#
recibir el último mensaje

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Al pulsar la pantalla, se envía un mensaje al Robot 2.#
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

Al iniciarse, almacena y muestra el mensaje enviado por el Robot 1.#
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.

obtener el último mensaje con el bloque de pila de datos#
Obtenga el último mensaje con datos

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Una vez iniciado, envía continuamente la dirección del Robot 1 al Robot 2.#
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

Al arrancar, almacena los datos del mensaje y gira para alinearse con la dirección del Robot 1.#
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