ข้อความ#

การแนะนำ#

หุ่นยนต์เขียนโปรแกรม VEX AIM สองตัวสามารถเชื่อมต่อกันได้เพื่อให้สามารถสื่อสารกันได้ระหว่างการทำงาน บล็อกข้อความช่วยให้หุ่นยนต์ตัวหนึ่งส่งข้อความไปยังหุ่นยนต์อีกตัวได้ ข้อความอาจประกอบด้วยข้อความธรรมดา หรือข้อความพร้อมตัวเลขก็ได้

ข้อความที่ได้รับจะถูกจัดเก็บในคิวแบบเข้าก่อนออกก่อน (FIFO) ซึ่งหมายความว่าข้อความแรกที่ได้รับจะเป็นข้อความแรกที่จะถูกอ่าน

ใช้บล็อก get latest message เพื่อเก็บข้อความที่ได้รับถัดไป จากนั้นใช้บล็อกรายงาน latest message เพื่ออ่านข้อความที่เก็บไว้ หากข้อความนั้นมีตัวเลขด้วย ให้ใช้ get latest message with data เพื่อเก็บทั้งสองค่า จากนั้นใช้ latest message และ latest data เพื่ออ่านค่าเหล่านั้น

หมายเหตุ: ในการส่งและรับข้อความ หุ่นยนต์ทั้งสองตัวต้องเชื่อมต่อกัน และหุ่นยนต์ทั้งสองตัวต้องกำลังทำงานในโปรเจกต์ที่ใช้บล็อกข้อความอยู่

ด้านล่างนี้คือรายการของบล็อกทั้งหมด:

ค่าต่างๆ — อ่านข้อมูลข้อความ หรือตรวจสอบสถานะข้อความและการเชื่อมต่อ

การดำเนินการ — ส่งหรือบันทึกข้อความที่ได้รับ

ค่านิยม#

ข้อความล่าสุด#

บล็อกรายงาน ข้อความล่าสุด จะรายงานข้อความที่บันทึกไว้ล่าสุด บล็อกนี้จะไม่ดึงข้อความใหม่ด้วยตัวเอง ให้ใช้ รับข้อความล่าสุด หรือ รับข้อความล่าสุดพร้อมข้อมูล ก่อน จากนั้นใช้ ข้อความล่าสุด เพื่อแสดงข้อความที่บันทึกไว้หรือใช้ในบล็อกอื่น

บล็อกผู้รายงานข้อความล่าสุด#
(ข้อความล่าสุด)

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

หุ่นยนต์ 1

เมื่อกดที่หน้าจอ จะส่งข้อความไปยังหุ่นยนต์ตัวที่ 2#
เมื่อหน้าจอ [กด 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

เมื่อเริ่มทำงาน ระบบจะส่งทิศทางการเคลื่อนที่ของหุ่นยนต์ 1 ไปยังหุ่นยนต์ 2 อย่างต่อเนื่อง#
เมื่อเริ่มต้น
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ทำตลอดไป
ส่งข้อความ [heading] พร้อมข้อมูล (ทิศทางในองศา)
fine

หุ่นยนต์ 2

เมื่อเริ่มต้น ระบบจะปรับค่าให้ตรงกับข้อมูลที่บันทึกไว้ล่าสุด#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ทำตลอดไป
ถ้า <มีข้อความหรือไม่?> แล้ว
รับข้อความล่าสุดพร้อมข้อมูล
เลี้ยวไปทิศทาง (ข้อมูลล่าสุด) องศา ▶
fine
fine

มีข้อความอยู่หรือไม่?#

บล็อกบูลีน is message available? รายงานว่ามีข้อความรออยู่ในคิวข้อความหรือไม่ ใช้บล็อกนี้ก่อน get latest message หรือ get latest message with data เพื่อให้หุ่นยนต์ที่รับข้อความพยายามจัดเก็บข้อความหลังจากที่ได้รับข้อความแล้วเท่านั้น

  • จริง — มีข้อความให้สามารถอ่านได้

  • เท็จ — ไม่มีข้อความใด ๆ ที่สามารถอ่านได้

ข้อความพร้อมใช้งานหรือไม่? บล็อกบูลีน#
<มีข้อความหรือไม่?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

หุ่นยนต์ 1

เมื่อกดที่หน้าจอ จะส่งข้อความไปยังหุ่นยนต์ตัวที่ 2#
เมื่อหน้าจอ [กด v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ส่งข้อความ [message]

หุ่นยนต์ 2

เมื่อเริ่มต้นระบบ จะแสดงข้อความเมื่อหุ่นยนต์ตัวที่ 1 ส่งข้อความ#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Display a message when Robot 1 sends a message.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ตั้งเคอร์เซอร์ไปแถวถัดไปบนหน้าจอ
รอจนกว่า <มีข้อความหรือไม่?>
พิมพ์ [Received!] บนหน้าจอ ▶

เชื่อมต่ออยู่หรือไม่?#

บล็อก Boolean เชื่อมต่ออยู่หรือไม่? จะรายงานว่าหุ่นยนต์เชื่อมต่อกับหุ่นยนต์ตัวอื่นหรือไม่ ใช้บล็อกนี้ก่อนส่งหรือรอรับข้อความหากโปรเจ็กต์ต้องการตรวจสอบว่าการเชื่อมต่อระหว่างหุ่นยนต์พร้อมใช้งานแล้ว

  • จริง — หุ่นยนต์ตัวนี้เชื่อมต่อกับหุ่นยนต์อีกตัวหนึ่ง

  • เท็จ — หุ่นยนต์ตัวนี้ไม่ได้เชื่อมต่อกับหุ่นยนต์ตัวอื่น

เชื่อมต่ออยู่หรือไม่? บล็อกบูลีน#
<เชื่อมต่ออยู่?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้นระบบ จะแสดงสถานะว่าหุ่นยนต์เชื่อมต่ออยู่หรือไม่#
เมื่อเริ่มต้น
[Turn off one of the linked robots to see the message change.]
ทำตลอดไป
ล้างหน้าจอ
พิมพ์ <เชื่อมต่ออยู่?> บนหน้าจอ ▶
fine

ชื่อหุ่นยนต์ที่เชื่อมโยง#

บล็อกรายงาน ชื่อหุ่นยนต์ที่เชื่อมต่อ จะแสดงชื่อของหุ่นยนต์ที่เชื่อมต่ออยู่ ใช้บล็อกนี้เพื่อแสดงว่าหุ่นยนต์ใดเชื่อมต่ออยู่ก่อนที่จะส่งหรือรับข้อความ หากไม่มีหุ่นยนต์เชื่อมต่อ บล็อกนี้จะรายงานว่า ไม่มี

บล็อกรายงานชื่อหุ่นยนต์ที่เชื่อมโยง#
(ชื่อหุ่นยนต์ที่เชื่อมต่อ)

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้นระบบ จะแสดงชื่อของหุ่นยนต์ที่เชื่อมต่ออยู่#
เมื่อเริ่มต้น
[Display the name of the robot that is linked.]
พิมพ์ (ชื่อหุ่นยนต์ที่เชื่อมต่อ) บนหน้าจอ ▶

การกระทำ#

ส่งข้อความ#

บล็อกสแต็ก ส่งข้อความ จะส่งข้อความไปยังหุ่นยนต์ที่เชื่อมโยง ใช้บล็อกนี้กับหุ่นยนต์ตัวหนึ่งเมื่อหุ่นยนต์อีกตัวต้องการรับคำสั่ง สัญญาณ หรือข้อมูลสั้นๆ บนหุ่นยนต์ที่รับข้อความ ให้ใช้ มีข้อความหรือไม่? เพื่อตรวจสอบว่าข้อความมาถึงแล้ว จากนั้นใช้ รับข้อความล่าสุด ก่อนที่จะอ่านข้อความด้วย ข้อความล่าสุด

ส่งข้อความบล็อกสแต็ก#
ส่งข้อความ [message]

พารามิเตอร์

คำอธิบาย

ข้อความ

ข้อความที่จะส่งไปยังหุ่นยนต์ที่เชื่อมต่ออยู่

ตัวอย่าง

หุ่นยนต์ 1

เมื่อกดที่หน้าจอ จะส่งข้อความไปยังหุ่นยนต์ตัวที่ 2#
เมื่อหน้าจอ [กด v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ส่งข้อความ [Hello, Robot 2!]

หุ่นยนต์ 2

เมื่อเริ่มต้นระบบ จะแสดงข้อความที่ส่งมาจากหุ่นยนต์หมายเลข 1#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Display the message Robot 1 sends.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ตั้งเคอร์เซอร์ไปแถวถัดไปบนหน้าจอ
รอจนกว่า <มีข้อความหรือไม่?>
รับข้อความล่าสุด
พิมพ์ (ข้อความล่าสุด) บนหน้าจอ ▶

ส่งข้อความพร้อมข้อมูล#

บล็อกสแต็ก ส่งข้อความพร้อมข้อมูล จะส่งข้อความและตัวเลขไปยังหุ่นยนต์ที่เชื่อมต่อ ใช้บล็อกนี้เมื่อข้อความต้องการป้ายกำกับและตัวเลข เช่น การส่ง ทิศทาง พร้อมค่าทิศทางปัจจุบันของหุ่นยนต์ บนหุ่นยนต์ที่รับข้อความ ให้ใช้ มีข้อความหรือไม่ เพื่อตรวจสอบว่าข้อความมาถึงแล้ว จากนั้นใช้ รับข้อความล่าสุดพร้อมข้อมูล ก่อนที่จะอ่านข้อความด้วย ข้อความล่าสุด และตัวเลขด้วย ข้อมูลล่าสุด

ส่งข้อความด้วยบล็อกข้อมูลสแต็ก#
ส่งข้อความ [message] พร้อมข้อมูล [0]

พารามิเตอร์

คำอธิบาย

ข้อความ

ข้อความที่จะส่งไปยังหุ่นยนต์ที่เชื่อมต่ออยู่

ข้อมูล

ระบุหมายเลขที่จะส่งไปพร้อมกับข้อความ

ตัวอย่าง

หุ่นยนต์ 1

เมื่อเริ่มทำงาน ระบบจะส่งทิศทางการเคลื่อนที่ของหุ่นยนต์ 1 ไปยังหุ่นยนต์ 2 อย่างต่อเนื่อง#
เมื่อเริ่มต้น
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ทำตลอดไป
ส่งข้อความ [heading] พร้อมข้อมูล (ทิศทางในองศา)
fine

หุ่นยนต์ 2

เมื่อเริ่มทำงาน จะหมุนไปตามทิศทางที่ส่งมาจากหุ่นยนต์หมายเลข 1#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ทำตลอดไป
ถ้า <มีข้อความหรือไม่?> แล้ว
รับข้อความล่าสุดพร้อมข้อมูล
เลี้ยวไปทิศทาง (ข้อมูลล่าสุด) องศา ▶
fine
fine

รับข้อความล่าสุด#

บล็อกสแต็ก รับข้อความล่าสุด จะรับข้อความที่ได้รับถัดไปจากคิวข้อความและจัดเก็บไว้เพื่อให้โปรเจ็กต์สามารถใช้งานได้ ใช้บล็อกนี้หลังจากที่ มีข้อความพร้อมใช้งานหรือไม่? รายงานว่า จริง และก่อนที่จะใช้ ข้อความล่าสุด ซึ่งจะช่วยให้หุ่นยนต์ที่รับข้อความบันทึกข้อความก่อนที่จะพยายามแสดง เปรียบเทียบ หรือใช้ในบล็อกอื่น

ใช้ ส่งข้อความ บนหุ่นยนต์ตัวอื่นเพื่อส่งข้อความแบบข้อความอย่างเดียว

รับบล็อกสแต็กข้อความล่าสุด#
รับข้อความล่าสุด

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

หุ่นยนต์ 1

เมื่อกดที่หน้าจอ จะส่งข้อความไปยังหุ่นยนต์ตัวที่ 2#
เมื่อหน้าจอ [กด v]
[Code for Robot 1.]
[Press the screen to send a message to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ส่งข้อความ [Hello, Robot 2!]

หุ่นยนต์ 2

เมื่อเริ่มต้น ระบบจะจัดเก็บและแสดงข้อความที่ส่งมาจากหุ่นยนต์หมายเลข 1#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Display the message Robot 1 sends.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ตั้งเคอร์เซอร์ไปแถวถัดไปบนหน้าจอ
รอจนกว่า <มีข้อความหรือไม่?>
รับข้อความล่าสุด
พิมพ์ (ข้อความล่าสุด) บนหน้าจอ ▶

รับข้อความล่าสุดพร้อมข้อมูล#

บล็อกสแต็ก รับข้อความล่าสุดพร้อมข้อมูล จะรับข้อความที่ได้รับถัดไปจากคิวข้อความและจัดเก็บทั้งสองส่วน ได้แก่ ข้อความและหมายเลขที่ส่งมาด้วย ใช้บล็อกนี้หลังจาก มีข้อความหรือไม่ รายงานว่า จริง และก่อนใช้ ข้อความล่าสุด หรือ ข้อมูลล่าสุด ซึ่งจะช่วยให้หุ่นยนต์ที่รับข้อมูลบันทึกค่าทั้งสองก่อนนำไปใช้ เช่น การหันไปตามทิศทางที่หุ่นยนต์ตัวอื่นส่งมา

ใช้ ส่งข้อความพร้อมข้อมูล บนหุ่นยนต์อีกตัวเพื่อส่งข้อความและหมายเลขพร้อมกัน

รับข้อความล่าสุดพร้อมบล็อกข้อมูลสแต็ก#
รับข้อความล่าสุดพร้อมข้อมูล

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

หุ่นยนต์ 1

เมื่อเริ่มทำงาน ระบบจะส่งทิศทางการเคลื่อนที่ของหุ่นยนต์ 1 ไปยังหุ่นยนต์ 2 อย่างต่อเนื่อง#
เมื่อเริ่มต้น
[Code for Robot 1.]
[Continuously send the current heading to Robot 2.]
พิมพ์ [Robot 1] บนหน้าจอ ▶
ทำตลอดไป
ส่งข้อความ [heading] พร้อมข้อมูล (ทิศทางในองศา)
fine

หุ่นยนต์ 2

เมื่อเริ่มต้นทำงาน ระบบจะบันทึกข้อมูลข้อความและหมุนเพื่อให้ตรงกับทิศทางของหุ่นยนต์หมายเลข 1#
เมื่อเริ่มต้น
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ทำตลอดไป
ถ้า <มีข้อความหรือไม่?> แล้ว
รับข้อความล่าสุดพร้อมข้อมูล
เลี้ยวไปทิศทาง (ข้อมูลล่าสุด) องศา ▶
fine
fine