บทเรียนที่ 3: ขับรถไปยังหมายเลข ‘31’
ในบทเรียนนี้หุ่นยนต์ VR จะขับไปที่หมายเลข ‘31’ แล้วกลับไปที่หมายเลข ‘1’ บน Number Grid Map Playground!

สังเกตว่าหุ่นยนต์ VR จะเดินทางไปตามแกน Y เพื่อย้ายไปยังหมายเลข ‘31’ บน Number Grid MapPlayground

หุ่นยนต์ VR จะขับไปยังตำแหน่งของหมายเลข ‘31’ บน Number Grid MapPlayground อย่างไรก็ตามก่อนที่หุ่นยนต์ VR จะไปยังหมายเลขนั้นได้หุ่นยนต์ VR จะต้องบอกตำแหน่งของหมายเลขนั้นว่าอยู่ที่ไหน พิกัดของหมายเลข ‘31’ คือ (-900, -300)

-
ลากบล็อก [ไดรฟ์] ที่ไม่ต้องรอลงในพื้นที่ทำงาน

-
ติดบล็อค [รอจนกว่า] ใต้บล็อค [ไดรฟ์]

-
ลากบล็อก <Greater than> บูลีนรีพอร์เตอร์ไปยังบล็อก [รอจนกว่า]

-
โปรดทราบว่า <Greater than> บล็อกจะถูกใช้แทน <Less than> บล็อกเนื่องจากหุ่นยนต์ VR กำลังขับรถขึ้นมาจากด้านล่างของสนามเด็กเล่น หุ่นยนต์ VR เริ่มต้นที่ค่า Y -900 มิลลิเมตร (มม.) เมื่อหุ่นยนต์ VR ขับเคลื่อนไปข้างหน้าค่า Y จะเพิ่มขึ้น

-
ลากบล็อค (ตำแหน่งของหุ่นยนต์) เข้าไป <Greater than> ในบล็อค

-
ตั้งค่าพารามิเตอร์ของบล็อก (ตำแหน่งของหุ่นยนต์) เป็น “Y” และพารามิเตอร์ของ <Greater than> บล็อกเป็น -300

-
ลากในบล็อค [หยุดขับ] และเพิ่มลงในโปรเจกต์

- เปิด Number Grid Map Playground หากยังไม่ได้เปิดและเรียกใช้โครงการ
-
ดู VR Robot ขับไปที่หมายเลข ‘31’ บน Number Grid MapPlayground

- ในโครงการนี้หุ่นยนต์ VR จะขับไปที่หมายเลข ‘31’ บน Number Grid MapPlayground เนื่องจากค่า Y เพิ่มขึ้นเมื่อ VR Robot ขับเคลื่อนไปที่หมายเลข ‘31’ โครงการจึงใช้ <Greater than> บล็อก
- หุ่นยนต์ VR จะหยุดทำงานเมื่อค่า Y ของมัน มาก กว่าค่า Y ของพิกัดที่หมายเลขที่ระบุเปิดอยู่ เนื่องจากค่า Y ของตัวเลข ‘31’ คือ -300 หุ่นยนต์ VR จะหยุดขับเมื่อค่า Y มากกว่า -300

การใช้สวิทช์บล็อก
ในบทเรียนนี้ท่านได้เรียนรู้วิธีใช้บล็อก VEXcode [Wait until] ที่มีเงื่อนไขบูลีนเพื่อสั่งให้หุ่นยนต์รอจนกว่าหุ่นยนต์จะไปถึงตำแหน่งที่มากกว่า -300 บนแกน Y ก่อนที่จะย้ายไปยังพฤติกรรมถัดไป
ภาพด้านล่างแสดงบล็อค VEXcode ข้างบล็อค Switch ที่มีคำสั่ง Python สำหรับพฤติกรรมเดียวกัน
ภายในบล็อกสวิตช์ใน ขณะที่ไม่ใช่ตำแหน่งตำแหน่ง (Y, > MM )-300: เป็นคำสั่ง Python แรกที่ ตรวจสอบว่าตำแหน่งของหุ่นยนต์ตามแกน X มากกว่า -300 หรือไม่
คำสั่งเยื้องที่สอง รอ (5, มิลลิวินาที) หยุดการดำเนินการของลูปแบบมีเงื่อนไขชั่วคราวเป็นเวลา 5 มิลลิวินาที
ใน VEXcode VR คำสั่ง รอ จะถูกเพิ่มพร้อมกับลูปเงื่อนไขเสมอ วัตถุประสงค์ของคำสั่ง wait คือเพื่อให้แน่ใจว่า VEXcode VR สามารถรันโครงการได้อย่างถูกต้องตามที่ต้องการ เนื่องจากลักษณะบนเว็บของแพลตฟอร์ม VEXcode VR ไม่ควรลบคำสั่ง wait เมื่อใช้ลูปแบบมีเงื่อนไข ไม่เช่นนั้น โปรเจ็กต์ของคุณอาจไม่ทำงานตามที่ตั้งใจไว้
ในตัวอย่างนี้โครงการจะตรวจสอบว่าตำแหน่งของหุ่นยนต์มากกว่าค่า Y ที่ -300 ทุก 5 มิลลิวินาทีหรือไม่ บรรทัดของรหัสนี้อยู่เยื้องใต้บรรทัดแรกของรหัสเนื่องจากคำสั่งนี้เป็นลักษณะการทำงานที่ จะทำซ้ำจนกว่าจะตรงตามเงื่อนไข (ค่าพิกัด Y ที่มากกว่า -300)
เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป