บทเรียนที่ 2: การไหลของโปรเจกต์ที่มี For Loop
เมื่อโปรเจกต์ใช้ for loop โปรเจกต์จะยังคงเป็นไปตามตรรกะเดิมในขณะที่เรียกใช้คำสั่ง ตัวอย่างเช่นโค้ดทั้งสองนี้ จะทำให้หุ่นยนต์ VR เคลื่อนไหวในลักษณะเดียวกัน อย่างไรก็ตามโครงการที่มี for loop จะทำซ้ำคำสั่ง Drivetrain ทั้งสองสี่ครั้งเพื่อทำเช่นนั้น

สำหรับ ลูปถูกใช้เพื่อทำซ้ำชุดคำสั่งตาม จำนวนครั้งที่ระบุ สำหรับการ วนซ้ำ (หรือที่เรียกว่าซ้ำ) เหนือลำดับคำสั่งที่อยู่ภายใน ในการวนซ้ำ Python for ตัวแปร 'value' จะถูกใช้เพื่อติดตามการวนซ้ำในปัจจุบัน และคีย์เวิร์ด 'in' จะใช้ฟังก์ชันช่วง เพื่อระบุจำนวนการวนซ้ำ 
ฟังก์ชันช่วง ถึง ระบุจำนวนครั้งที่ลูปจะต้องวนซ้ำ (หรือทำซ้ำ) หากต้องการทำซ้ำพฤติกรรมตามจำนวนครั้งที่ต้องการ ให้ตั้งค่าพารามิเตอร์ของฟังก์ชันช่วง เป็น
ฟังก์ชันช่วง ถึง จะสร้างรายการชั่วคราวที่ระบุว่าลูปจะต้องวนซ้ำผ่านอะไรเพื่อให้เสร็จสมบูรณ์ ในกรณีที่มีพฤติกรรมที่เกิดซ้ำ เช่น การวาดสี่ด้านของรูปสี่เหลี่ยม ฟังก์ชันช่วง ถึง จะใช้รายการชั่วคราว (0, 1, 2, 3) เพื่อให้หุ่นยนต์ VR สามารถดำเนินการคำสั่งเหล่านั้นสี่ครั้ง การเคลื่อนไหวของหุ่นยนต์ VR จะเปลี่ยนแปลงไปตามพารามิเตอร์ของฟังก์ชันช่วงดังที่แสดงไว้ที่นี่
![]() |
![]() |
คำสั่ง Drivetrain ที่ดำเนินการ 0 ครั้ง |
![]() |
![]() |
คำสั่ง Drivetrain ดำเนินการ 1 ครั้ง |
![]() |
![]() |
คำสั่ง Drivetrain ดำเนินการ 2 ครั้ง |
![]() |
![]() |
คำสั่ง Drivetrain ดำเนินการ 3 ครั้ง |
![]() |
![]() |
คำสั่ง Drivetrain ดำเนินการ 4 ครั้งทำให้ทั้ง 4 ด้านของสี่เหลี่ยมจัตุรัสเสร็จสมบูรณ์ |
|
|
![]() |
คำสั่ง Drivetrain ดำเนินการ 5 ครั้งทำให้สี่เหลี่ยมเสร็จสมบูรณ์จากนั้นติดตามด้านแรกอีกครั้ง |
สังเกตว่ารูปร่างของสี่เหลี่ยมที่วาดไว้ไม่มีการเปลี่ยนแปลงเมื่อฟังก์ชันช่วง เปลี่ยนจาก 4 เป็น 5 แต่ตำแหน่งสุดท้ายของหุ่นยนต์ VR เปลี่ยนแปลงไป ดังนั้น การใช้ลูป สำหรับ พร้อมช่วง เริ่มต้น ฟังก์ชันของสิบ จะส่งผลให้มีการวาดรูปทรงสี่เหลี่ยมจัตุรัสเดิม แต่หุ่นยนต์ VR จะยังคงทำซ้ำพฤติกรรมดังกล่าวอีกหกครั้ง
หุ่นยนต์ VR จะย้ายผ่านคำสั่งจากส่วนหัว สำหรับ ลูปไป ยังคำสั่งเยื้องสุดท้าย ส่วนหัวของลูป สำหรับ บ่งบอกว่าหุ่นยนต์ VR ควรทำซ้ำการกระทำภายในลูป ตามจำนวนครั้งที่กำหนด ก่อนจะย้ายไปยังคำสั่งถัดไป นอกลูป for เส้นเยื้องระบุว่าคำสั่งใดอยู่ภายใน ลูปสำหรับลูปและควรทำซ้ำ
สำหรับข้อมูลของคุณ
ใน VEXcode VR คำสั่ง wait จะถูกเพิ่มพร้อมกับลูป for เสมอ วัตถุประสงค์ของคำสั่ง wait คือเพื่อให้แน่ใจว่า VEXcode VR สามารถรันโครงการได้อย่างถูกต้องตามที่ต้องการ เนื่องจากลักษณะบนเว็บของแพลตฟอร์ม VEXcode VR ไม่ควรลบคำสั่ง wait เมื่อใช้ลูป for ไม่เช่นนั้น โปรเจ็กต์ของคุณอาจไม่ทำงานตามที่ตั้งใจไว้

จำนวนครั้งที่ระบุว่ามีการตั้งค่า for loop ให้ดำเนินการช่วยให้โครงการไหลผ่านออกจาก for loop เมื่อดำเนินการซ้ำที่จำเป็นเสร็จสิ้นแล้ว ต้องถึงพารามิเตอร์ของฟังก์ชันช่วง ในลูป สำหรับ ก่อนที่โปรเจ็กต์จะย้ายไปยังคำสั่งถัดไปนอกลูป ในตัวอย่างโค้ดด้านล่าง เมื่อคำสั่ง Drivetrain ในลู สำหรับ ถูกดำเนินการสี่ครั้งแล้ว โปรเจ็กต์จะย้ายออกจากลูป สำหรับ ตั้งค่าสีปากกาเป็นสีแดง และขับเคลื่อนย้อนกลับ 
มินิชาเลนจ์
ในโครงการนี้หุ่นยนต์ VR ควรวาดสี่เหลี่ยมสีน้ำเงินบน Art Canvas Playground แต่มีข้อผิดพลาดในโครงการ แก้ไขโปรเจกต์เพื่อแก้ปัญหามินิชาเลนจ์!

วิดีโอด้านล่างแสดงให้เห็นสิ่งที่ต้องทำเพื่อทำมินิชาเลนจ์ หุ่นยนต์เริ่มต้นที่กลางสนามเด็กเล่นและวาดสี่เหลี่ยมสีฟ้าขนาดใหญ่ทั้งสี่ด้าน
- ดูวิดีโอการแก้ปัญหาและทบทวนว่าหุ่นยนต์ VR ควรเคลื่อนไหวอย่างไรเพื่อทำการท้าทายขนาดเล็กให้สำเร็จ
- ปรับเปลี่ยน โป รเจกต์ Unit3Lesson2 ให้ตรงกับภาพนี้หรือคัดลอกโค้ดด้านล่าง
def main (): pen.move (
down) pen.set_pen_color
(RED) drivetrain.drive_for
(FORWARD, 600, MM)
for value in range (3): drivetrain.drive_for
(FORWARD, 600, MM) drivetrain.turn_for
(RIGHT, 90, DEGREES)
wait (5, MSEC)- เริ่มโครงการและระบุตำแหน่งที่หุ่นยนต์ VR ไม่ได้ทำพฤติกรรมที่คาดหวังให้เสร็จสมบูรณ์
- ปรับเปลี่ยนโครงการและดำเนินโครงการอีกครั้ง ดูว่า VR Robot ทำพฤติกรรมที่คาดหวังได้สำเร็จหรือไม่
- หากหุ่นยนต์ VR ไม่ได้วาดสี่เหลี่ยมสีน้ำเงินให้ทำซ้ำขั้นตอนก่อนหน้าและลองอีกครั้ง แก้ไขและเรียกใช้โปรเจกต์ของคุณต่อไปจนกว่า VR Robot จะวาดสี่เหลี่ยมสีน้ำเงิน
- เมื่อหุ่นยนต์ VR วาดสี่เหลี่ยมสีน้ำเงินบน Art Canvas Playground สำเร็จแล้วให้บันทึกโปรเจกต์
ขอแสดงความยินดี! คุณเอาชนะมินิชาเลนจ์!











