บทที่ 3: การใช้บล็อก [ถ้าเป็นเช่นนั้น]
ใน Disk Maze Challenge หุ่นยนต์ VR กำลังตรวจสอบสภาพของเซ็นเซอร์ดวงตาด้านหน้าเพื่อดูว่ามีการรายงานสีใด แต่ละสีตรงกับพฤติกรรมที่แตกต่างกันที่หุ่นยนต์ VR ควรทำ

-
เริ่มโปรเจกต์ใหม่และตั้งชื่อโปรเจ กต์ว่าUnit7Lesson3

-
ลากบล็อค [If then] ไปยังพื้นที่ทำงานและแนบไปกับบล็อค [When started]

สำหรับข้อมูลของคุณ
บล็อก [ถ้าเป็นเช่นนั้น] เป็นบล็อก C ที่ยอมรับบล็อกบูลีนรีพอร์เตอร์เป็นอินพุต การใช้รูปแบบที่สังเกตได้ในขณะที่แก้ Disk Maze ในบทเรียนที่ 2 สามารถสร้างโครงการที่หุ่นยนต์ VR ทำการตัดสินใจว่าเงื่อนไขรายงานเป็นจริงหรือเท็จ

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

การใช้สวิทช์บล็อก
ภาพด้านล่าง แสดงข้อความบล็อค Switch [If then] สำหรับโครงการตัวอย่างของบทเรียนนี้
โปรเจ กต์ด้านล่างมีคำสั่งเดียวกันที่แปลงเป็นสวิตช์บล็อกเดียว
บรรทัดแรกของรหัส ถ้า front_eye.detect (สีเขียว): เป็นลูปแบบมีเงื่อนไขที่ตรวจสอบว่า Front Eye Sensor ตรวจพบสีเขียวหรือไม่ โปรดทราบว่าควรมีลำไส้ใหญ่(:) ที่ส่วนท้ายของบรรทัดนี้
รหัส บรรทัดที่สอง drivetrain.turn_for (ขวา 90 องศา) บอกให้หุ่นยนต์เลี้ยวขวา 90 องศาเมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับสีเขียว เส้นนี้จะ ถูกเยื้องที่ค่าเริ่มต้น 4 ช่องว่าง เนื่องจากเป็นพฤติกรรมเฉพาะที่จะดำเนินการหากเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบสีเขียว

-
ลาก <Color sensing> บล็อกไปยังพื้นที่ทำงานลงในอินพุตหกเหลี่ยมของบล็อก [ถ้าเป็นเช่นนั้น]

-
เปลี่ยนพารามิเตอร์ของ <Color sensing> บล็อกเป็น ‘สีเขียว’

-
เมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบดิสก์สีเขียวหุ่นยนต์ VR จะต้องเลี้ยวขวา 90 องศาเพื่อเริ่มแก้ปัญหาเขาวงกตดิสก์ ลากบล็อค [Turn for] ลงในบล็อค [If then]

-
ทำตามขั้นตอนเดียวกันนี้เพื่อเพิ่มบล็อก [If then] สำหรับทั้งสามสีใน Disk Maze (สีเขียวสีฟ้าและสีแดง) แต่ละสีมีความสัมพันธ์กับพฤติกรรมที่แตกต่างกัน บล็อกภายในบล็อก [If then] จะต้องตรงกับพฤติกรรมที่ตั้งใจไว้ เพิ่มบล็อกต่อไปนี้ในโครงการ เมื่อหุ่นยนต์ VR ตรวจพบสี ‘น้ำเงิน’ หุ่นยนต์ VR จะเลี้ยวซ้าย 90 องศา

-
เมื่อหุ่นยนต์ VR ถึงจุดสิ้นสุดของเขาวงกตหุ่นยนต์ VR จะตรวจจับสี ‘สีแดง’

-
ในการหยุดหุ่นยนต์ VR จำเป็นต้องเพิ่มบล็อค [If then] อื่นพร้อมคำแนะนำสำหรับสิ่งที่ต้องทำเมื่อหุ่นยนต์ VR ตรวจพบ ‘สีแดง’ เพิ่มบล็อกต่อไปนี้ในโครงการ

-
หุ่นยนต์ VR ยังสามารถตัดสินใจได้หากไม่เห็นสีโดยใช้ค่า ‘ไม่มี’ ที่จุดเริ่มต้นของเขาวงกตดิสก์หุ่นยนต์ VR จะไม่ตรวจจับสีใดๆ

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

-
เพิ่มบล็อกต่อไปนี้ในโครงการ เมื่อหุ่นยนต์ VR ไม่พบสีใดๆหุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้า

- ตอนนี้หุ่นยนต์ VR มีคำแนะนำสำหรับแต่ละสีที่ตรวจพบโดยเซ็นเซอร์ตาแล้ว
- เซนเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับ ‘สีเขียว ?'
- เลี้ยวขวา 90 องศา
- เซนเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับ ‘สีน้ำเงิน ?'
- เลี้ยวซ้าย 90 องศา
- เซนเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับ ‘สีแดง ?'
- หยุดขับรถ
- เซนเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับ ‘ไม่มี ?'
- ขับไปข้างหน้า
- เซนเซอร์ตรวจจับดวงตาด้านหน้าตรวจจับ ‘สีเขียว ?'
- เปิด Disk Maze Playground และเรียกใช้โครงการ
เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป