Mensaje#

Introducción#

Se pueden conectar dos robots de codificación VEX AIM para que se comuniquen durante un proyecto. Mediante bloques de mensajes, los robots pueden enviar y recibir información para coordinar sus acciones.

Los mensajes se almacenan en una cola de tipo primero en entrar, primero en salir (FIFO). El primer mensaje recibido se procesa primero, incluso si hay mensajes más recientes disponibles.

Nota: Para que se envíen y reciban mensajes, ambos robots deben estar ejecutando proyectos que manejen mensajes al mismo tiempo.

A continuación se muestra una lista de todos los bloques:

enviar mensaje#

El bloque enviar mensaje envía una cadena al otro robot vinculado.

send message [message]

Parámetros

Descripción

mensaje

La cadena que se enviará al otro robot vinculado.

Ejemplo

Robot 1

when screen [pressed v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
print [Robot 1] on screen ▶
[Change the string to display a different message.]
send message [Hello, Robot 2!]

Robot 2

when started
[Code for Robot 2.]
[Display what message Robot 1 sends.]
print [Robot 2] on screen ▶
set cursor to next row on screen
wait until <is message available?>
get latest message
print (latest message) on screen ▶

enviar mensaje con datos#

El bloque enviar mensaje con datos envía una cadena y un número al otro robot vinculado.

send message [message] with data [0]

Parámetros

Descripción

mensaje

El valor que se enviará al otro robot vinculado. Debe ser una cadena.

datos

Un número para enviar al otro robot.

Ejemplo

Robot 1

when screen [pressed v]
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
print [Robot 1] on screen ▶
forever
send message [message] with data (heading in degrees)

Robot 2

when started
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
print [Robot 2] on screen ▶
forever
if <is message available?> then
get latest message with data
turn to heading (latest data) degrees ▶

recibir el último mensaje#

El bloque obtener último mensaje almacena la cadena más reciente recibida del otro robot vinculado.

get latest message

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

when screen [pressed v] :: hat events
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
print [Robot 1] on screen ▶
[Change the string to display a different message.]
send message [Hello, Robot 2!]

Robot 2

when started
[Code for Robot 2.]
[Display what message Robot 1 sends.]
print [Robot 2] on screen ▶
set cursor to next row on screen
wait until <is message available?>
get latest message
print (latest message) on screen ▶

Obtenga el último mensaje con datos#

El bloque obtener último mensaje con datos almacena la cadena y el número más recientes recibidos del otro robot vinculado.

get latest message with data

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

when screen [pressed v] :: hat events
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
print [Robot 1] on screen ▶
forever
send message [message] with data (heading in degrees)

Robot 2

when started
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
print [Robot 2] on screen ▶
forever
if <is message available?> then
get latest message with data
turn to heading (latest data) degrees ▶

último mensaje#

El bloque último mensaje devuelve la cadena almacenada más reciente del último uso del bloque obtener último mensaje o obtener último mensaje con datos.

(latest message)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

when screen [pressed v] :: hat events
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
print [Robot 1] on screen ▶
[Change the string to display a different message.]
send message [Hello, Robot 2!]

Robot 2

when started
[Code for Robot 2.]
[Display what message Robot 1 sends.]
print [Robot 2] on screen ▶
set cursor to next row on screen
wait until <is message available?>
get latest message
print (latest message) on screen ▶

últimos datos#

El bloque datos más recientes devuelve el número almacenado más reciente del último uso del bloque obtener el último mensaje con datos.

(latest data)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

when screen [pressed v] :: hat events
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
print [Robot 1] on screen ▶
forever
send message [message] with data (heading in degrees)

Robot 2

when started
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
print [Robot 2] on screen ▶
forever
if <is message available?> then
get latest message with data
turn to heading (latest data) degrees ▶

¿Está disponible el mensaje?#

El bloque ¿Hay mensaje disponible? devuelve un valor booleano que indica si el otro robot vinculado ha utilizado alguna vez el bloque enviar mensaje o enviar mensaje con datos.

<is message available?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

Robot 1

when screen [pressed v] :: hat events
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
print [Robot 1] on screen ▶
send message [message]

Robot 2

when started
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
print [Robot 2] on screen ▶
set cursor to next row on screen
wait until <is message available?>
print [Received!] on screen ▶

¿está conectado?#

El bloque ¿está conectado? devuelve un valor booleano que indica si el robot está actualmente vinculado con otro robot.

  • Cierto: el robot está conectado con otro robot.

  • Falso: el robot no está conectado con otro robot.

<is connected?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Turn off one of the linked robots to see the message change.]
forever
clear screen
print <is connected?> on screen ▶

nombre del robot vinculado#

El bloque nombre del robot vinculado devuelve una cadena con el nombre del robot vinculado. Si no hay ningún robot vinculado, se devolverá “Ninguno”.

(linked robot name)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

when started
[Display the name of the robot that's linked.]
print (linked robot name) on screen ▶