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.
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.
dữ liệu mới nhất — Báo cáo số được lưu trữ gần đây nhất.
tin nhắn có sẵn không? — Cho biết liệu tin nhắn có sẵn để đọc hay không.
đã kết nối? — Báo cáo xem robot có được liên kết với robot khác hay không.
tên robot được liên kết — Báo cáo tên của robot được liên kết.
Thao tác — Gửi hoặc lưu trữ tin nhắn đã nhận.
gửi tin nhắn — Gửi văn bản tới robot được liên kết.
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.
nhận tin nhắn mới nhất — Lưu trữ tin nhắn văn bản tiếp theo nhận được.
lấy tin nhắn mới nhất kèm dữ liệu — Lưu trữ tin nhắn văn bản và số điện thoại tiếp theo nhận được.
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.
(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 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 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 độ.
(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 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 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 mới?>
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
Robot 1
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 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?>
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
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 được liên kết)
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
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 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 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 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 [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 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 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 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 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 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 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 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 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