ข้อความ#
การแนะนำ#
หุ่นยนต์เขียนโปรแกรม VEX AIM สองตัวสามารถเชื่อมต่อกันได้เพื่อให้สามารถสื่อสารกันได้ระหว่างการทำงาน บล็อกข้อความช่วยให้หุ่นยนต์ตัวหนึ่งส่งข้อความไปยังหุ่นยนต์อีกตัวได้ ข้อความอาจประกอบด้วยข้อความธรรมดา หรือข้อความพร้อมตัวเลขก็ได้
ข้อความที่ได้รับจะถูกจัดเก็บในคิวแบบเข้าก่อนออกก่อน (FIFO) ซึ่งหมายความว่าข้อความแรกที่ได้รับจะเป็นข้อความแรกที่จะถูกอ่าน
ใช้บล็อก get latest message เพื่อเก็บข้อความที่ได้รับถัดไป จากนั้นใช้บล็อกรายงาน latest message เพื่ออ่านข้อความที่เก็บไว้ หากข้อความนั้นมีตัวเลขด้วย ให้ใช้ get latest message with data เพื่อเก็บทั้งสองค่า จากนั้นใช้ latest message และ latest data เพื่ออ่านค่าเหล่านั้น
หมายเหตุ: ในการส่งและรับข้อความ หุ่นยนต์ทั้งสองตัวต้องเชื่อมต่อกัน และหุ่นยนต์ทั้งสองตัวต้องกำลังทำงานในโปรเจกต์ที่ใช้บล็อกข้อความอยู่
ด้านล่างนี้คือรายการของบล็อกทั้งหมด:
ค่าต่างๆ — อ่านข้อมูลข้อความ หรือตรวจสอบสถานะข้อความและการเชื่อมต่อ
ข้อความล่าสุด — รายงานข้อความที่บันทึกไว้ล่าสุด
ข้อมูลล่าสุด — รายงานหมายเลขที่บันทึกไว้ล่าสุด
มีข้อความให้อ่านหรือไม่ — รายงานว่ามีข้อความให้อ่านหรือไม่
เชื่อมต่ออยู่หรือไม่? — รายงานว่าหุ่นยนต์เชื่อมต่อกับหุ่นยนต์ตัวอื่นหรือไม่
ชื่อหุ่นยนต์ที่เชื่อมโยง — รายงานชื่อของหุ่นยนต์ที่เชื่อมโยง
การดำเนินการ — ส่งหรือบันทึกข้อความที่ได้รับ
ส่งข้อความ — ส่งข้อความไปยังหุ่นยนต์ที่เชื่อมโยง
ส่งข้อความพร้อมข้อมูล — ส่งข้อความและหมายเลขไปยังหุ่นยนต์ที่เชื่อมโยง
รับข้อความล่าสุด — บันทึกข้อความที่ได้รับถัดไป
รับข้อความล่าสุดพร้อมข้อมูล — บันทึกข้อความและหมายเลขที่ได้รับถัดไป
ค่านิยม#
ข้อความล่าสุด#
บล็อกรายงาน ข้อความล่าสุด จะรายงานข้อความที่บันทึกไว้ล่าสุด บล็อกนี้จะไม่ดึงข้อความใหม่ด้วยตัวเอง ให้ใช้ รับข้อความล่าสุด หรือ รับข้อความล่าสุดพร้อมข้อมูล ก่อน จากนั้นใช้ ข้อความล่าสุด เพื่อแสดงข้อความที่บันทึกไว้หรือใช้ในบล็อกอื่น
(ข้อความล่าสุด)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
หุ่นยนต์ 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] พร้อมข้อมูล (ทิศทางในองศา)
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
เมื่อหน้าจอ [กด 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!] บนหน้าจอ ▶
เชื่อมต่ออยู่หรือไม่?#
บล็อก 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
เมื่อหน้าจอ [กด 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] บนหน้าจอ ▶
ตั้งเคอร์เซอร์ไปแถวถัดไปบนหน้าจอ
รอจนกว่า <มีข้อความหรือไม่?>
รับข้อความล่าสุด
พิมพ์ (ข้อความล่าสุด) บนหน้าจอ ▶
ส่งข้อความพร้อมข้อมูล#
บล็อกสแต็ก ส่งข้อความพร้อมข้อมูล จะส่งข้อความและตัวเลขไปยังหุ่นยนต์ที่เชื่อมต่อ ใช้บล็อกนี้เมื่อข้อความต้องการป้ายกำกับและตัวเลข เช่น การส่ง ทิศทาง พร้อมค่าทิศทางปัจจุบันของหุ่นยนต์ บนหุ่นยนต์ที่รับข้อความ ให้ใช้ มีข้อความหรือไม่ เพื่อตรวจสอบว่าข้อความมาถึงแล้ว จากนั้นใช้ รับข้อความล่าสุดพร้อมข้อมูล ก่อนที่จะอ่านข้อความด้วย ข้อความล่าสุด และตัวเลขด้วย ข้อมูลล่าสุด
ส่งข้อความ [message] พร้อมข้อมูล [0]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ข้อความ |
ข้อความที่จะส่งไปยังหุ่นยนต์ที่เชื่อมต่ออยู่ |
ข้อมูล |
ระบุหมายเลขที่จะส่งไปพร้อมกับข้อความ |
ตัวอย่าง
หุ่นยนต์ 1
เมื่อเริ่มต้น
[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
รับข้อความล่าสุด#
บล็อกสแต็ก รับข้อความล่าสุด จะรับข้อความที่ได้รับถัดไปจากคิวข้อความและจัดเก็บไว้เพื่อให้โปรเจ็กต์สามารถใช้งานได้ ใช้บล็อกนี้หลังจากที่ มีข้อความพร้อมใช้งานหรือไม่? รายงานว่า จริง และก่อนที่จะใช้ ข้อความล่าสุด ซึ่งจะช่วยให้หุ่นยนต์ที่รับข้อความบันทึกข้อความก่อนที่จะพยายามแสดง เปรียบเทียบ หรือใช้ในบล็อกอื่น
ใช้ ส่งข้อความ บนหุ่นยนต์ตัวอื่นเพื่อส่งข้อความแบบข้อความอย่างเดียว
รับข้อความล่าสุด
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
หุ่นยนต์ 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] พร้อมข้อมูล (ทิศทางในองศา)
fine
หุ่นยนต์ 2
เมื่อเริ่มต้น
[Code for Robot 2.]
[Turn to match Robot 1's heading.]
พิมพ์ [Robot 2] บนหน้าจอ ▶
ทำตลอดไป
ถ้า <มีข้อความหรือไม่?> แล้ว
รับข้อความล่าสุดพร้อมข้อมูล
เลี้ยวไปทิศทาง (ข้อมูลล่าสุด) องศา ▶
fine
fine