Tin nhắn#

Giới thiệu#

Hai robot lập trình VEX AIM có thể được liên kết với nhau để giao tiếp trong suốt dự án. Khối lệnh nhắn tin cho phép một robot gửi tin nhắn đến robot kia. Tin nhắn có thể chỉ bao gồm văn bản hoặc văn bản kèm theo số.

Các tin nhắn nhận được được lưu trữ trong hàng đợi theo nguyên tắc vào trước ra trước (FIFO). Điều này có nghĩa là tin nhắn đầu tiên nhận được sẽ là tin nhắn đầu tiên được đọc.

Sử dụng khối lấy tin nhắn mới nhất để lưu trữ tin nhắn nhận được tiếp theo. Sau đó, sử dụng khối báo cáo tin nhắn mới nhất để đọc văn bản đã lưu trữ. Nếu tin nhắn cũng bao gồm một số, hãy sử dụng lấy tin nhắn mới nhất kèm dữ liệu để lưu trữ cả hai giá trị, sau đó sử dụng tin nhắn mới nhất và dữ liệu mới nhất để đọc chúng.

Lưu ý: Để gửi và nhận tin nhắn, cả hai robot phải được liên kết và cả hai robot phải đang chạy các dự án sử dụng khối Tin nhắn.

Dưới đây là danh sách tất cả các khối:

Giá trị — Đọc thông tin tin nhắn hoặc kiểm tra trạng thái tin nhắn và kết nối.

Thao tác — Gửi hoặc lưu trữ tin nhắn đã nhận.

Giá trị#

tin nhắn mới nhất#

Khối báo cáo tin nhắn mới nhất báo cáo tin nhắn văn bản được lưu trữ gần đây nhất. Khối này không tự lấy tin nhắn mới. Hãy sử dụng lấy tin nhắn mới nhất hoặc lấy tin nhắn mới nhất kèm dữ liệu trước, sau đó sử dụng tin nhắn mới nhất để hiển thị văn bản đã lưu trữ hoặc sử dụng nó trong một khối khác.

khối phóng viên tin nhắn mới nhất#
(tin nhắn mới nhất)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Robot 1

Khi nhấn vào màn hình, nó sẽ gửi một tin nhắn đến Robot 2.#
khi màn hình [nhấn v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
in [Robot 1] trên màn hình ▶
gửi tin nhắn [Hello, Robot 2!]

Robot 2

Khi khởi động, chương trình sẽ hiển thị tin nhắn được lưu trữ gần nhất.#
khi bắt đầu
[Code for Robot 2.]
[Display the message Robot 1 sends.]
in [Robot 2] trên màn hình ▶
đặt con trỏ xuống hàng tiếp theo trên màn hình
chờ cho đến khi <có tin nhắn mới?>
lấy tin nhắn mới nhất
in (tin nhắn mới nhất) trên màn hình ▶

dữ liệu mới nhất#

Khối báo cáo dữ liệu mới nhất báo cáo số được lưu trữ gần đây nhất từ ​​một tin nhắn có chứa dữ liệu. Khối này không tự lấy số mới. Hãy sử dụng lấy tin nhắn mới nhất có dữ liệu trước, sau đó sử dụng dữ liệu mới nhất trong một khối khác, chẳng hạn như khoảng cách lái xe, hướng rẽ hoặc giá trị tốc độ.

khối báo cáo dữ liệu mới nhất#
(dữ liệu mới nhất)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Robot 1

Khi khởi động, hệ thống liên tục gửi hướng di chuyển của Robot 1 đến Robot 2.#
khi bắt đầu
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
in [Robot 1] trên màn hình ▶
mãi mãi
gửi tin nhắn [heading] kèm dữ liệu (hướng tính bằng độ)
fin

Robot 2

Khi khởi động, chương trình sẽ xoay để khớp với dữ liệu được lưu trữ gần nhất.#
khi bắt đầu
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
in [Robot 2] trên màn hình ▶
mãi mãi
nếu <có tin nhắn mới?> thì
lấy tin nhắn mới nhất kèm dữ liệu
quay đến hướng (dữ liệu mới nhất) độ ▶
fin
fin

Tin nhắn có sẵn không?#

Khối Boolean tin nhắn có sẵn không? báo cáo liệu có tin nhắn đang chờ trong hàng đợi tin nhắn hay không. Sử dụng khối này trước lấy tin nhắn mới nhất hoặc lấy tin nhắn mới nhất kèm dữ liệu để robot nhận chỉ cố gắng lưu trữ tin nhắn sau khi tin nhắn đã đến.

  • Đúng — Có một tin nhắn để đọc.

  • Sai — Hiện không có tin nhắn nào để đọc.

Có tin nhắn không? Khối Boolean#
<có tin nhắn mới?>

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Robot 1

Khi nhấn vào màn hình, nó sẽ gửi một tin nhắn đến Robot 2.#
khi màn hình [nhấn v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
in [Robot 1] trên màn hình ▶
gửi tin nhắn [message]

Robot 2

Khi khởi động, hệ thống sẽ hiển thị thông báo khi Robot 1 gửi tin nhắn.#
khi bắt đầu
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
in [Robot 2] trên màn hình ▶
đặt con trỏ xuống hàng tiếp theo trên màn hình
chờ cho đến khi <có tin nhắn mới?>
in [Received!] trên màn hình ▶

Đã kết nối chưa?#

Khối Boolean đã kết nối chưa? cho biết robot có được liên kết với robot khác hay không. Sử dụng khối này trước khi gửi hoặc chờ tin nhắn nếu dự án cần kiểm tra xem kết nối giữa các robot đã sẵn sàng hay chưa.

  • Đúng — Robot này được liên kết với một robot khác.

  • Sai — Robot này không được liên kết với robot khác.

Đã kết nối? Khối Boolean#
<đã kết nối?>

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Khi khởi động, màn hình sẽ hiển thị trạng thái kết nối của robot.#
khi bắt đầu
[Turn off one of the linked robots to see the message change.]
mãi mãi
xóa màn hình
in <đã kết nối?> trên màn hình ▶
fin

tên robot được liên kết#

Khối báo cáo tên robot được liên kết sẽ hiển thị tên của robot được liên kết. Sử dụng khối này để hiển thị robot nào đang được kết nối trước khi gửi hoặc nhận tin nhắn. Nếu không có robot nào được liên kết, khối này sẽ hiển thị Không có.

tên robot liên kết khối phóng viên#
(tên robot được liên kết)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Khi khởi động, nó sẽ hiển thị tên của robot được liên kết.#
khi bắt đầu
[Display the name of the robot that is linked.]
in (tên robot được liên kết) trên màn hình ▶

Hành động#

gửi tin nhắn#

Khối ngăn xếp gửi tin nhắn gửi văn bản đến robot được liên kết. Sử dụng khối này trên một robot khi robot kia cần nhận lệnh, tín hiệu hoặc một đoạn thông tin ngắn. Trên robot nhận, sử dụng tin nhắn có sẵn không? để kiểm tra xem tin nhắn đã đến chưa, sau đó sử dụng lấy tin nhắn mới nhất trước khi đọc nó bằng tin nhắn mới nhất.

gửi khối ngăn xếp tin nhắn#
gửi tin nhắn [message]

Tham số

Sự miêu tả

tin nhắn

Văn bản cần gửi đến robot được liên kết.

Ví dụ

Robot 1

Khi nhấn vào màn hình, nó sẽ gửi một tin nhắn đến Robot 2.#
khi màn hình [nhấn v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
in [Robot 1] trên màn hình ▶
gửi tin nhắn [Hello, Robot 2!]

Robot 2

Khi khởi động, màn hình sẽ hiển thị thông báo do Robot 1 gửi.#
khi bắt đầu
[Code for Robot 2.]
[Display the message Robot 1 sends.]
in [Robot 2] trên màn hình ▶
đặt con trỏ xuống hàng tiếp theo trên màn hình
chờ cho đến khi <có tin nhắn mới?>
lấy tin nhắn mới nhất
in (tin nhắn mới nhất) trên màn hình ▶

gửi tin nhắn kèm dữ liệu#

Khối ngăn xếp gửi tin nhắn kèm dữ liệu gửi văn bản và một số đến robot được liên kết. Sử dụng khối này khi tin nhắn cần nhãn và số, chẳng hạn như gửi hướng với giá trị hướng hiện tại của robot. Trên robot nhận, sử dụng tin nhắn có sẵn không? để kiểm tra xem tin nhắn đã đến chưa, sau đó sử dụng lấy tin nhắn mới nhất kèm dữ liệu trước khi đọc văn bản bằng tin nhắn mới nhất và số bằng dữ liệu mới nhất.

gửi tin nhắn với khối ngăn xếp dữ liệu#
gửi tin nhắn [message] kèm dữ liệu [0]

Tham số

Sự miêu tả

tin nhắn

Văn bản cần gửi đến robot được liên kết.

dữ liệu

Số điện thoại cần gửi kèm tin nhắn.

Ví dụ

Robot 1

Khi khởi động, hệ thống liên tục gửi hướng di chuyển của Robot 1 đến Robot 2.#
khi bắt đầu
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
in [Robot 1] trên màn hình ▶
mãi mãi
gửi tin nhắn [heading] kèm dữ liệu (hướng tính bằng độ)
fin

Robot 2

Khi khởi động, robot sẽ quay để phù hợp với hướng di chuyển do Robot 1 gửi đến.#
khi bắt đầu
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
in [Robot 2] trên màn hình ▶
mãi mãi
nếu <có tin nhắn mới?> thì
lấy tin nhắn mới nhất kèm dữ liệu
quay đến hướng (dữ liệu mới nhất) độ ▶
fin
fin

nhận tin nhắn mới nhất#

Khối ngăn xếp lấy tin nhắn mới nhất lấy tin nhắn văn bản tiếp theo được nhận từ hàng đợi tin nhắn và lưu trữ nó để dự án có thể sử dụng. Sử dụng khối này sau khi tin nhắn có sẵn không? báo cáo Đúng và trước khi sử dụng tin nhắn mới nhất. Điều này giúp robot nhận lưu tin nhắn trước khi cố gắng hiển thị, so sánh hoặc sử dụng nó trong một khối khác.

Sử dụng gửi tin nhắn trên robot kia để gửi tin nhắn chỉ có văn bản.

lấy khối ngăn xếp tin nhắn mới nhất#
lấy tin nhắn mới nhất

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Robot 1

Khi nhấn vào màn hình, nó sẽ gửi một tin nhắn đến Robot 2.#
khi màn hình [nhấn v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
in [Robot 1] trên màn hình ▶
gửi tin nhắn [Hello, Robot 2!]

Robot 2

Khi khởi động, chương trình sẽ lưu trữ và hiển thị thông báo do Robot 1 gửi đi.#
khi bắt đầu
[Code for Robot 2.]
[Display the message Robot 1 sends.]
in [Robot 2] trên màn hình ▶
đặt con trỏ xuống hàng tiếp theo trên màn hình
chờ cho đến khi <có tin nhắn mới?>
lấy tin nhắn mới nhất
in (tin nhắn mới nhất) trên màn hình ▶

Nhận tin nhắn mới nhất kèm dữ liệu#

Khối ngăn xếp lấy tin nhắn mới nhất kèm dữ liệu lấy tin nhắn tiếp theo được nhận từ hàng đợi tin nhắn và lưu trữ cả hai phần của nó: tin nhắn văn bản và số được gửi kèm theo. Sử dụng khối này sau khi tin nhắn có sẵn không? báo cáo Đúng và trước khi sử dụng tin nhắn mới nhất hoặc dữ liệu mới nhất. Điều này giúp robot nhận lưu cả hai giá trị trước khi sử dụng chúng, chẳng hạn như chuyển hướng theo hướng mà robot khác đã gửi.

Sử dụng gửi tin nhắn kèm dữ liệu trên robot kia để gửi văn bản và số cùng nhau.

Lấy tin nhắn mới nhất với khối ngăn xếp dữ liệu#
lấy tin nhắn mới nhất kèm dữ liệu

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Robot 1

Khi khởi động, hệ thống liên tục gửi hướng di chuyển của Robot 1 đến Robot 2.#
khi bắt đầu
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
in [Robot 1] trên màn hình ▶
mãi mãi
gửi tin nhắn [heading] kèm dữ liệu (hướng tính bằng độ)
fin

Robot 2

Khi khởi động, nó lưu trữ dữ liệu thông báo và xoay hướng để phù hợp với hướng di chuyển của Robot 1.#
khi bắt đầu
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
in [Robot 2] trên màn hình ▶
mãi mãi
nếu <có tin nhắn mới?> thì
lấy tin nhắn mới nhất kèm dữ liệu
quay đến hướng (dữ liệu mới nhất) độ ▶
fin
fin