Skip to main content

CS ระดับ 1 - บล็อก VEXcode VR

บทที่ 8 - การเคลื่อนย้ายดิสก์ด้วยลูป

บทที่ 4: ย้ายดิสก์สีแดงและสีเขียว

  • ถัดไป หุ่นยนต์ VR จะต้องขับเคลื่อนไปข้างหน้าไปยังเป้าหมายที่มีสีถัดไป โปรดทราบว่าหุ่นยนต์ VR จะต้องเคลื่อนที่ไปข้างหน้าสี่ช่องสี่เหลี่ยมหรือ 800 มิลลิเมตร (มม.) เพื่อขับเคลื่อนไปยังศูนย์กลางของเป้าหมายที่มีสีถัดไป
    ขับเคลื่อนไปสู่เป้าหมายต่อไป
  • เพิ่มบล็อก [Drive for] ให้กับโค้ดและตั้งค่าพารามิเตอร์เป็น 800 มิลลิเมตร (มม.)
    ขับเคลื่อนไปสู่เป้าหมายถัดไป
  • ตอนนี้หุ่นยนต์ VR จะต้องหันหน้าเข้าหาดิสก์สี
    หันจากเป้าหมาย
  • เพิ่มบล็อก [Turn to heading] อันที่สองลงในโค้ดและตั้งค่าพารามิเตอร์เป็นศูนย์องศา การดำเนินการนี้จะทำให้ VR Robot หันหน้าไปทางดิสก์สี
    หมุนไปที่ดิสก์ถัดไป
  • เปิด Disk Mover Playground และรันโปรเจ็กต์
  • หุ่นยนต์ VR จะหยิบและย้ายดิสก์สีน้ำเงินแผ่นแรกไปยังเป้าหมายสีน้ำเงิน จากนั้นจึงขับข้ามเป้าหมายสีแดง หุ่นยนต์ VR จะหันหน้าเข้าหาดิสก์สีแดงด้วย
    มุ่งหน้าไปข้างหน้า
  • ตอนนี้หุ่นยนต์ VR กำลังเผชิญหน้ากับดิสก์สีแดง หุ่นยนต์ VR จะต้องทำซ้ำพฤติกรรมเดิมที่เคยใช้ในการรวบรวมดิสก์สีน้ำเงิน เพื่อหยิบและเคลื่อนย้ายดิสก์สีแดง พฤติกรรมการขับรถไปข้างหน้าหยิบดิสก์ เลี้ยวกลับ และขับกลับไปยังเป้าหมายสีเดียวกันเพื่อหย่อนดิสก์
    ย้ายสีแดง
  • เมื่อดิสก์สีแดงแผ่นแรกถูกย้าย หุ่นยนต์ VR จะต้องขับเคลื่อนไปยังเป้าหมายสีเขียวและดำเนินการแบบเดียวกับที่ใช้ในการย้ายดิสก์สีน้ำเงินและสีแดง เพื่อย้ายดิสก์สีเขียวอันแรก
    หยิบดิสก์ขึ้นมาหนึ่งแผ่น
  • หากต้องการทำซ้ำพฤติกรรมหลายครั้ง สามารถใช้บล็อก [ซ้ำ] ได้
    บล็อกซ้ำ
  • เพิ่มบล็อก [ซ้ำ] ให้กับโค้ดและตั้งค่าพารามิเตอร์เป็น '3'
    เพิ่มทำซ้ำ
  • เปิด Disk Mover Playground และรันโปรเจ็กต์
  • เมื่อดำเนินโปรเจ็กต์นี้ หุ่นยนต์ VR จะหยิบและวางดิสก์หนึ่งดิสก์ของแต่ละสีลงในเป้าหมายที่มีสีตรงกัน
    บทที่ 4 ตัวอย่าง
  • โปรดทราบว่าหุ่นยนต์ VR ยังคงขับรถชนกำแพงต่อไป พฤติกรรมนี้เกิดขึ้นเนื่องจากโครงการสั่งให้หุ่นยนต์ VR เลี้ยวขวาและขับไปยังเป้าหมายถัดไปสามครั้ง ครั้งแรกที่ขับรถจากสีน้ำเงินเป็นสีแดง อันที่สองจากสีแดงเป็นสีเขียว และอันที่สามจากสีเขียวไปที่ผนัง เนื่องจากไม่มีเป้าหมายที่เป็นสีอื่น หยุดโปรเจ็กต์เมื่อหุ่นยนต์ VR ชนกำแพง สามารถปรับปรุงโปรเจ็กต์ได้เพื่อให้หุ่นยนต์ VR หยุดหลังจากที่หยิบและย้ายดิสก์สีเขียว แต่จะเพิ่มความซับซ้อนโดยรวมของโปรเจ็กต์
    หยุด

สำหรับข้อมูลของคุณ

การวางวงหนึ่งไว้ภายในอีกวงหนึ่งเรียกว่าการซ้อน เมื่อคุณ "ซ้อน" ลูป ลูปด้านนอกจะควบคุมจำนวนครั้งที่ลูปด้านในดำเนินการ มีลูปหลายประเภทที่สามารถซ้อนกันได้ ตัวอย่างเช่น ในโค้ดก่อนหน้าด้านบน บล็อก [Repeat until] ซ้อนอยู่ภายในบล็อก [Repeat]

ลูปซ้อนกัน

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

วาด 3 สี่เหลี่ยม

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

เลือกปุ่ม ถัดไป เพื่อดำเนินการต่อในส่วนที่เหลือของบทเรียนนี้