Mensaje#

Introducción#

Se pueden vincular dos robots de codificación VEX AIM para que puedan comunicarse durante un proyecto. Los bloques de mensajes permiten que un robot envíe un mensaje al otro robot. Un mensaje puede incluir texto por sí mismo o texto con un número.

Los mensajes recibidos se almacenan en una cola de primero en entrar, primero en salir (FIFO). Esto significa que el primer mensaje recibido es el primer mensaje que se leerá.

Usa un bloque get latest message para almacenar el siguiente mensaje recibido. A continuación, utiliza el bloque reportero * * último mensaje * * para leer el texto almacenado. Si el mensaje también incluye un número, usa get latest message with data para almacenar ambos valores, luego usa latest message y latest data para leerlos.

Nota: Para que los mensajes se envíen y reciban, 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 verifique el mensaje y el estado de la conexión.

Acciones: envía o almacena los mensajes recibidos.

Valores#

último mensaje#

El bloque de reportero * * mensaje más reciente * * informa el mensaje de texto almacenado más recientemente. Este bloque no recibe un mensaje nuevo por sí solo. Usa get latest message u get latest message with data primero, luego usa latest message para mostrar el texto almacenado o úsalo en otro bloque.

bloque reportero de último mensaje#
(último mensaje)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Cuando se presiona la pantalla, envía un mensaje al Robot 2.#
cuando pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en pantalla ▶
enviar mensaje [Hello, Robot 2!]

Robot 2

Cuando se inicia, muestra el último mensaje almacenado.#
cuando inicie
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en pantalla ▶
mover cursor a la siguiente fila en pantalla
esperar hasta <¿hay mensaje disponible?>
obtener último mensaje
imprimir (último mensaje) en pantalla ▶

datos más recientes#

El bloque del informador datos más recientes * * informa el número almacenado más recientemente de un mensaje que incluía datos. Este bloque no obtiene un nuevo número por sí mismo. Usa get latest message with data primero, luego usalatest data * * en otro bloque, como la distancia de conducción, el rumbo de giro o el valor de velocidad.

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

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Cuando se inicia, envía continuamente el Robot 1 en dirección al Robot 2.#
cuando inicie
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en pantalla ▶
por siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin

Robot 2

Cuando se inicia, gira para que coincida con los últimos datos almacenados.#
cuando inicie
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en pantalla ▶
por siempre
si <¿hay mensaje disponible?> entonces
obtener último mensaje con datos
girar al rumbo (últimos datos) grados ▶
fin
fin

¿Está disponible el mensaje?#

¿El mensaje está disponible? El bloque booleano informa si un mensaje está esperando en la cola de mensajes. Use este bloque antes de get latest message o get latest message with data 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#
<¿hay mensaje disponible?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Cuando se presiona la pantalla, envía un mensaje al Robot 2.#
cuando pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en pantalla ▶
enviar mensaje [message]

Robot 2

Cuando se inicia, muestra un mensaje cuando el Robot 1 envía un mensaje.#
cuando inicie
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
imprimir [Robot 2] en pantalla ▶
mover cursor a la siguiente fila en pantalla
esperar hasta <¿hay mensaje disponible?>
imprimir [Received!] en pantalla ▶

está conectado?#

¿El está conectado? El bloque booleano informa si el robot está vinculado con otro robot. Utilice este bloque antes de enviar o esperar mensajes si el proyecto necesita comprobar que la conexión robot a robot está lista.

  • Verdadero: el robot está vinculado 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

Cuando se inicia, muestra si el robot está conectado.#
cuando inicie
[Turn off one of the linked robots to see the message change.]
por siempre
limpiar pantalla
imprimir <¿está conectado?> en 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 reportero de nombre de robot vinculado#
(nombre del robot vinculado)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Cuando se inicia, muestra el nombre del robot vinculado.#
cuando inicie
[Display the name of the robot that is linked.]
imprimir (nombre del robot vinculado) en pantalla ▶

Acciones#

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 a enviar al robot vinculado.

Ejemplo

Robot 1

Cuando se presiona la pantalla, envía un mensaje al Robot 2.#
cuando pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en pantalla ▶
enviar mensaje [Hello, Robot 2!]

Robot 2

Cuando se inicia, muestra el mensaje enviado por el Robot 1.#
cuando inicie
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en pantalla ▶
mover cursor a la siguiente fila en pantalla
esperar hasta <¿hay mensaje disponible?>
obtener último mensaje
imprimir (último mensaje) en 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 a enviar al robot vinculado.

data

El número a enviar con el mensaje.

Ejemplo

Robot 1

Cuando se inicia, envía continuamente el Robot 1 en dirección al Robot 2.#
cuando inicie
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en pantalla ▶
por siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin

Robot 2

Cuando se inicia, gira para que coincida con el encabezado enviado por el Robot 1.#
cuando inicie
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en pantalla ▶
por siempre
si <¿hay mensaje disponible?> entonces
obtener último mensaje con datos
girar al rumbo (últimos datos) grados ▶
fin
fin

obtener el último mensaje#

El bloque de pila * * get latest message * * toma el siguiente mensaje de texto recibido de la cola de mensajes y lo almacena para que el proyecto pueda usarlo. Usa este bloque después de que ¿Está disponible el mensaje? informe * * 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.

Usa enviar mensaje en el otro robot para enviar un mensaje de texto.

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

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Cuando se presiona la pantalla, envía un mensaje al Robot 2.#
cuando pantalla [presionado v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
imprimir [Robot 1] en pantalla ▶
enviar mensaje [Hello, Robot 2!]

Robot 2

Cuando se inicia, almacena y muestra el mensaje enviado por el Robot 1.#
cuando inicie
[Code for Robot 2.]
[Display the message Robot 1 sends.]
imprimir [Robot 2] en pantalla ▶
mover cursor a la siguiente fila en pantalla
esperar hasta <¿hay mensaje disponible?>
obtener último mensaje
imprimir (último mensaje) en pantalla ▶

obtener el último mensaje con datos#

El bloque de pila obtener último mensaje con datos toma el siguiente mensaje recibido de la cola de mensajes y almacena ambas partes del mismo: el mensaje de texto y el número enviado con él. Usa este bloque después de que ¿Está disponible el mensaje? informe * * Verdadero * * y antes de usar * * último mensaje * * o últimos datos. Esto ayuda al robot receptor a guardar ambos valores antes de usarlos, como pasar a un encabezado que otro robot envió.

Use 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#
obtener último mensaje con datos

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

Cuando se inicia, envía continuamente el Robot 1 en dirección al Robot 2.#
cuando inicie
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
imprimir [Robot 1] en pantalla ▶
por siempre
enviar mensaje [heading] con datos (rumbo en grados)
fin

Robot 2

Cuando se inicia, almacena los datos del mensaje y gira para que coincida con el encabezado del Robot 1.#
cuando inicie
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
imprimir [Robot 2] en pantalla ▶
por siempre
si <¿hay mensaje disponible?> entonces
obtener último mensaje con datos
girar al rumbo (últimos datos) grados ▶
fin
fin