메시지#
소개#
두 대의 VEX AIM 코딩 로봇은 프로젝트 진행 중 서로 통신할 수 있도록 연결할 수 있습니다. 메시지 블록을 사용하면 한 로봇이 다른 로봇에게 메시지를 보낼 수 있습니다. 메시지에는 텍스트만 포함하거나 텍스트와 숫자를 함께 포함할 수 있습니다.
수신된 메시지는 선입선출(FIFO) 큐에 저장됩니다. 즉, 먼저 수신된 메시지가 가장 먼저 읽힙니다.
최신 메시지 가져오기 블록을 사용하여 다음으로 수신된 메시지를 저장합니다. 그런 다음 최신 메시지 리포터 블록을 사용하여 저장된 텍스트를 읽습니다. 메시지에 숫자가 포함된 경우 데이터가 포함된 최신 메시지 가져오기를 사용하여 두 값을 모두 저장한 다음 최신 메시지 및 최신 데이터를 사용하여 읽습니다.
참고: 메시지를 주고받으려면 두 로봇이 연결되어 있어야 하며, 두 로봇 모두 메시지 블록을 사용하는 프로젝트를 실행 중이어야 합니다.
아래는 모든 블록 목록입니다.
값 — 메시지 정보를 읽거나 메시지 및 연결 상태를 확인합니다.
최신 메시지 — 가장 최근에 저장된 문자 메시지를 보고합니다.
최신 데이터 — 가장 최근에 저장된 숫자를 보고합니다.
메시지를 읽을 수 있습니까? — 메시지를 읽을 수 있는지 여부를 보고합니다.
연결되었습니까? — 로봇이 다른 로봇과 연결되어 있는지 여부를 보고합니다.
연결된 로봇 이름 — 연결된 로봇의 이름을 보고합니다.
작업 — 수신된 메시지를 보내거나 저장합니다.
메시지 전송 — 연결된 로봇에게 텍스트를 전송합니다.
데이터와 함께 메시지 전송 — 연결된 로봇에게 텍스트와 숫자를 전송합니다.
최신 메시지 가져오기 — 다음으로 수신된 문자 메시지를 저장합니다.
데이터가 포함된 최신 메시지 가져오기 — 다음에 수신된 문자 메시지와 번호를 저장합니다.
값#
최신 메시지#
최신 메시지 리포터 블록은 가장 최근에 저장된 텍스트 메시지를 보고합니다. 이 블록은 자체적으로 새 메시지를 가져오지 않습니다. 먼저 최신 메시지 가져오기 또는 데이터 포함 최신 메시지 가져오기를 사용한 다음 최신 메시지를 사용하여 저장된 텍스트를 표시하거나 다른 블록에서 사용하십시오.
(최신 메시지)
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
로봇 1
화면 [눌림 v] 시
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
화면에 [Robot 1] 출력 ▶
메시지 [Hello, Robot 2!] 전송
로봇 2
시작 시
[Code for Robot 2.]
[Display the message Robot 1 sends.]
화면에 [Robot 2] 출력 ▶
화면에서 커서를 다음 행으로 이동
<메시지가 있나요?>까지 기다리기
최신 메시지 가져오기
화면에 (최신 메시지) 출력 ▶
최신 데이터#
최신 데이터 리포터 블록은 데이터가 포함된 메시지에서 가장 최근에 저장된 숫자를 보고합니다. 이 블록은 자체적으로 새 숫자를 가져오지 않습니다. 먼저 데이터가 포함된 최신 메시지 가져오기를 사용한 다음 주행 거리, 회전 방향 또는 속도 값과 같은 다른 블록에서 최신 데이터를 사용하십시오.
(최신 데이터)
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
로봇 1
시작 시
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
화면에 [Robot 1] 출력 ▶
무한 반복
데이터 (방향각(도))와 함께 메시지 [heading] 전송
끝
로봇 2
시작 시
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
화면에 [Robot 2] 출력 ▶
무한 반복
<메시지가 있나요?>이면
데이터가 포함된 최신 메시지 가져오기
(최신 데이터)도 방향각으로 회전 ▶
끝
끝
메시지를 확인할 수 있나요?#
메시지를 사용할 수 있습니까? 부울 블록은 메시지가 메시지 큐에 대기 중인지 여부를 보고합니다. 수신 로봇이 메시지가 도착한 후에만 메시지를 저장하려고 시도하도록 하려면 이 블록을 최신 메시지 가져오기 또는 데이터가 포함된 최신 메시지 가져오기 전에 사용하십시오.
맞습니다 — 읽을 수 있는 메시지가 있습니다.
거짓 — 읽을 수 있는 메시지가 없습니다.
<메시지가 있나요?>
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
로봇 1
화면 [눌림 v] 시
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
화면에 [Robot 1] 출력 ▶
메시지 [message] 전송
로봇 2
시작 시
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
화면에 [Robot 2] 출력 ▶
화면에서 커서를 다음 행으로 이동
<메시지가 있나요?>까지 기다리기
화면에 [Received!] 출력 ▶
연결되어 있나요?#
is connected? 부울 블록은 로봇이 다른 로봇과 연결되었는지 여부를 보고합니다. 프로젝트에서 로봇 간 연결이 준비되었는지 확인해야 하는 경우, 메시지를 보내거나 기다리기 전에 이 블록을 사용하십시오.
참 — 로봇이 다른 로봇과 연결되어 있습니다.
거짓 — 해당 로봇은 다른 로봇과 연결되어 있지 않습니다.
<연결됨?>
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
시작 시
[Turn off one of the linked robots to see the message change.]
무한 반복
화면 지우기
화면에 <연결됨?> 출력 ▶
끝
연결된 로봇 이름#
연결된 로봇 이름 리포터 블록은 연결된 로봇의 이름을 보고합니다. 메시지를 보내거나 받기 전에 어떤 로봇이 연결되어 있는지 확인하려면 이 블록을 사용하십시오. 연결된 로봇이 없으면 이 블록은 없음을 보고합니다.
(연결된 로봇 이름)
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
시작 시
[Display the name of the robot that is linked.]
화면에 (연결된 로봇 이름) 출력 ▶
행위#
메시지 보내기#
메시지 전송 스택 블록은 연결된 로봇에게 텍스트를 전송합니다. 다른 로봇이 명령, 신호 또는 간단한 정보를 수신해야 할 때 한 로봇에서 이 블록을 사용합니다. 수신 로봇에서는 메시지가 있습니까?를 사용하여 메시지가 도착했는지 확인한 다음 최신 메시지 가져오기를 사용하고 최신 메시지로 읽습니다.
메시지 [message] 전송
매개변수 |
설명 |
|---|---|
메시지 |
연결된 로봇에게 보낼 텍스트입니다. |
예
로봇 1
화면 [눌림 v] 시
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
화면에 [Robot 1] 출력 ▶
메시지 [Hello, Robot 2!] 전송
로봇 2
시작 시
[Code for Robot 2.]
[Display the message Robot 1 sends.]
화면에 [Robot 2] 출력 ▶
화면에서 커서를 다음 행으로 이동
<메시지가 있나요?>까지 기다리기
최신 메시지 가져오기
화면에 (최신 메시지) 출력 ▶
데이터를 포함한 메시지를 보내세요#
데이터와 함께 메시지 전송 스택 블록은 연결된 로봇에게 텍스트와 숫자를 전송합니다. 메시지에 레이블과 숫자가 필요한 경우, 예를 들어 로봇의 현재 방향 값과 함께 방향을 전송하는 경우 이 블록을 사용합니다. 수신 로봇에서는 메시지가 있습니까?를 사용하여 메시지가 도착했는지 확인한 다음 데이터와 함께 최신 메시지 가져오기를 사용하고 최신 메시지로 텍스트를 읽고 최신 데이터로 숫자를 읽습니다.
데이터 [0]와 함께 메시지 [message] 전송
매개변수 |
설명 |
|---|---|
메시지 |
연결된 로봇에게 보낼 텍스트입니다. |
데이터 |
메시지와 함께 보낼 번호입니다. |
예
로봇 1
시작 시
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
화면에 [Robot 1] 출력 ▶
무한 반복
데이터 (방향각(도))와 함께 메시지 [heading] 전송
끝
로봇 2
시작 시
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
화면에 [Robot 2] 출력 ▶
무한 반복
<메시지가 있나요?>이면
데이터가 포함된 최신 메시지 가져오기
(최신 데이터)도 방향각으로 회전 ▶
끝
끝
최신 메시지 가져오기#
최신 메시지 가져오기 스택 블록은 메시지 큐에서 수신된 다음 텍스트 메시지를 가져와 프로젝트에서 사용할 수 있도록 저장합니다. 이 블록은 메시지 사용 가능 여부 확인? 블록이 True를 반환한 후, 그리고 최신 메시지 블록을 사용하기 전에 사용해야 합니다. 이렇게 하면 수신 로봇이 메시지를 표시하거나 비교하거나 다른 블록에서 사용하기 전에 메시지를 저장할 수 있습니다.
텍스트만 있는 메시지를 보내려면 다른 로봇에서 메시지 전송을 사용하세요.
최신 메시지 가져오기
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
로봇 1
화면 [눌림 v] 시
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
화면에 [Robot 1] 출력 ▶
메시지 [Hello, Robot 2!] 전송
로봇 2
시작 시
[Code for Robot 2.]
[Display the message Robot 1 sends.]
화면에 [Robot 2] 출력 ▶
화면에서 커서를 다음 행으로 이동
<메시지가 있나요?>까지 기다리기
최신 메시지 가져오기
화면에 (최신 메시지) 출력 ▶
데이터가 포함된 최신 메시지를 받으세요#
데이터가 포함된 최신 메시지 가져오기 스택 블록은 메시지 큐에서 수신된 다음 메시지를 가져와 텍스트 메시지와 함께 전송된 숫자를 모두 저장합니다. 이 블록은 메시지 사용 가능 여부? 블록이 True를 반환한 후, 그리고 최신 메시지 또는 최신 데이터 블록을 사용하기 전에 사용해야 합니다. 이렇게 하면 수신 로봇이 다른 로봇이 보낸 방향으로 회전하는 것과 같이 두 값을 사용하기 전에 저장할 수 있습니다.
텍스트와 숫자를 함께 보내려면 다른 로봇에서 데이터와 함께 메시지 전송을 사용하세요.
데이터가 포함된 최신 메시지 가져오기
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
로봇 1
시작 시
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
화면에 [Robot 1] 출력 ▶
무한 반복
데이터 (방향각(도))와 함께 메시지 [heading] 전송
끝
로봇 2
시작 시
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
화면에 [Robot 2] 출력 ▶
무한 반복
<메시지가 있나요?>이면
데이터가 포함된 최신 메시지 가져오기
(최신 데이터)도 방향각으로 회전 ▶
끝
끝