Skip to main content

บทที่ 2: การกระทำซ้ำ

ตอนนี้ VR Robot ได้วาดสี่เหลี่ยมบน Art Canvas Playground โดยใช้ปากกาแล้ว คุณจะเรียนรู้การทำซ้ำบล็อกและทำให้โครงการของคุณง่ายขึ้น บทเรียนนี้จะแนะนำคุณเกี่ยวกับขั้นตอนในการวาดสี่เหลี่ยมบน Art Canvas Playground โดยใช้บล็อก [ทำซ้ำ]

Art Canvas Playground พร้อมหุ่นยนต์ VR ในตอนท้ายของโครงการ สี่เหลี่ยมจัตุรัสหนึ่งที่มีเส้นสีดำเข้มถูกวาดบนสนามเด็กเล่นไปทางขวาบนของหุ่นยนต์ VR

ผลการเรียนรู้

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

เปลี่ยนชื่อโปรเจกต์

  • หากยังไม่ได้โหลดโครงการของบทเรียนก่อนหน้าให้โหล โครงการ Unit3Lesson1
  • เปลี่ยนชื่อโปรเจกต์โดยเลือกกล่องชื่อโปรเจกต์

    สภาพแวดล้อมการเข้ารหัส VEXcode VR พร้อมกล่องสีแดงที่ด้านบนตรงกลางเพื่อเรียกกล่องชื่อโปรเจกต์ ช่องชื่อโครงการอ่านหน่วยที่ 3 บทเรียนที่ 1
  • ป้อนชื่อโปรเจ กต์ใหม่Unit3Lesson2 และเลือก "บันทึก"

    เปิดป๊อปอัพชื่อโปรเจกต์ด้วยชื่อใหม่หน่วยที่ 3 บทเรียนที่ 2 พิมพ์ กล่องสีแดงจะเรียกตัวเลือกบันทึกที่ด้านล่างของป๊อปอัปชื่อโครงการ

การกระทำซ้ำๆ

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

  • เริ่มต้นด้วยการปรับเปลี่ยนโปรเจกต์ก่อนหน้าหรือสร้างโปรเจกต์ใหม่เพื่อให้ตรงกับโปรเจกต์ฐานนี้ คุณอาจใช้บล็อกแบบเดิมสลับบล็อกและทั้งสองอย่างรวมกันเพื่อสร้างโปรเจกต์ของคุณ 

    โครงการ VEXcode VR ที่มีบล็อกเริ่มต้นเมื่อใดและมีบล็อก 9 บล็อกติดอยู่ บล็อกจะอ่านดังนี้จากบนลงล่าง: เลื่อนปากกาหุ่นยนต์ลงขับไปข้างหน้า 600 มิลลิเมตรเลี้ยวขวา 90 องศาขับไปข้างหน้า 600 มิลลิเมตรเลี้ยวขวา 90 องศาขับไปข้างหน้า 600 มิลลิเมตรเลี้ยวขวา 90 องศาขับไปข้างหน้า 600 มิลลิเมตรและเลี้ยวขวา 90 องศา
  • บล็อกที่ซ้ำกันในโครงการนี้คือบล็อก [Drive for] และบล็อก [Turn for] ลบหกบล็อกด้านล่างในโปรเจกต์เพื่อให้เหลือ [Drive for] เพียงหนึ่งบล็อกและ [Turn for] หนึ่งบล็อกใต้บล็อก [move robot pen]

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

    โครงการจากก่อนหน้านี้ที่มีสามช่วงตึกต่ำกว่าเมื่อเริ่มต้น ลูปซ้ำถูกแสดงในกระบวนการของการถูกเพิ่มรอบไดรฟ์ไปข้างหน้าและเลี้ยวขวาบล็อกซึ่งถูกระบุโดยเงาที่แสดงตัวอย่างที่บล็อกจะไป ลูกศรสีแดงชี้ไปทางขวาเพื่อแสดงโครงการหลังจากเพิ่มลูปการทำซ้ำ โปรเจกต์จะอ่านเมื่อเริ่มต้นเลื่อนปากกาหุ่นยนต์ลงทำซ้ำ 10 ครั้ง ด้านในของการทำซ้ำ 10 เป็นสองช่วงตึก: ขับไปข้างหน้า 600 มิลลิเมตรและเลี้ยวขวา 90 องศา
  • ตั้งค่าพารามิเตอร์ของบล็อก [ทำซ้ำ] เป็น “4” เพื่อให้หุ่นยนต์ VR วาดสี่เหลี่ยมทั้งสี่ด้าน

    โปรเจกต์เดียวกันกับก่อนหน้านี้ด้วยกล่องสีแดงรอบๆพารามิเตอร์ตัวเลขของลูปการทำซ้ำ หมายเลขเปลี่ยนจาก 10 เป็น 4

    การใช้สวิทช์บล็อก

    บล็อก [ทำซ้ำ] สามารถรับจำนวนเต็มได้ ทศนิยมจะไม่ทำงานเป็นพารามิเตอร์สำหรับบล็อก [ทำซ้ำ]

    วนซ้ำใน VEXcode VR

    นี่คือบล็อค Switch [Repeat] ในตัวอย่างนี้บล็อก [ทำซ้ำ] ถูกตั้งค่าให้ทำซ้ำ พฤติกรรม 10 ครั้ง คำสั่ง สำหรับ REPEAT_COUNT ใน RANGE (10) คือรหัสที่เริ่มต้นลูปที่ทำซ้ำ 10 ครั้ง 

    รุ่นสวิทช์บล็อกของลูปซ้ำ บล็อกนี้มีรูปร่างเป็นสี่เหลี่ยมจัตุรัสโดยเปิดด้านขวา ข้อความภายในบล็อกจะแสดงจำนวนขีดล่างซ้ำในช่วงที่มีหมายเลข 10 ในวงเล็บและเครื่องหมายโคลอนที่ส่วนท้าย

      ภาพด้านล่าง แสดงคำสั่ง Switch [Drive for] และ [Turn for] ที่ซ้อนอยู่ภายในสวิตช์ [Repeat] C-block พารามิเตอร์ของบล็อค Switch [Repeat] ถูกตั้งค่าเป็น "4" ซึ่งหมายความว่าคำสั่ง [Drive for] และ [Turn for] ที่ซ้อนอยู่ภายในบล็อค C จะถูกทำซ้ำสี่ครั้ง

    วนซ้ำสวิทช์เดียวกันเหมือนเดิมด้วยตัวเลขในวงเล็บที่ตั้งค่าเป็น 4 ภายในพื้นที่เปิดโล่งของบล็อกมีสวิทช์บล็อกอีกสองบล็อก บล็อกแรกอ่านไดร์ฟเทรนดอทไดรฟ์ย้ำด้วยเครื่องหมายจุลภาคไปข้างหน้า 600 ลูกน้ำ MM ในวงเล็บ บล็อกที่สองอ่านว่าไดร์ฟเทรนดอทเทิร์นขีดล่างโดยมี 90 องศาด้านขวาในวงเล็บ

    ภาพด้านล่างแสดงสแต็คเดียวกันของบล็อก สวิตช์ที่แปลงเป็นบล็อกสวิตช์เดียว

     สำหรับ REPEAT_COUNT ในช่วง (4): เป็นคำสั่ง Python ที่สร้างลูปการทำซ้ำที่บอกให้หุ่นยนต์ทำซ้ำบรรทัดที่เยื้องกันของโค้ดภายใต้คำสั่งนี้ 4 ครั้ง

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

    คำสั่ง drivetrain.drive_for ( ไปข้างหน้า 600 มม.) บอก ให้หุ่นยนต์ขับไปข้างหน้า 600 มม. และคำสั่ง drivetrain.turn_for (ขวา 90 องศา) บอกให้หุ่นยนต์ เลี้ยวขวา 90 องศา เนื่องจากคำสั่ง เหล่านี้ถูกเยื้องภายใต้คำสั่ง Repeat พฤติกรรมเหล่านี้จึงเป็นส่วนหนึ่งของลูปการทำซ้ำและจะทำซ้ำสี่ครั้ง  

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

  • เลือกปุ่ม “เปิดสนามเด็กเล่น” เพื่อเปิด Art Canvas Playground หากยังไม่ได้เปิดอยู่

    สภาพแวดล้อมการเข้ารหัส VEXcode VR พร้อมกล่องสีแดงที่เรียกไอคอน Open Playground และข้อความที่ด้านบนขวาของแถบเครื่องมือ
  • เลือกปุ่ม "เริ่ม" เพื่อทดสอบโปรเจกต์

    สภาพแวดล้อมการเข้ารหัส VEXcode VR พร้อมกล่องสีแดงที่เรียกไอคอนเริ่มและข้อความที่ด้านบนขวาของแถบเครื่องมือ
  • ชมหุ่นยนต์ VR ขับไปข้างหน้าและเลี้ยวขวาสี่ครั้งบน Art Canvas Playground เพื่อวาดรูปสี่เหลี่ยมด้วยปากกา

    Art Canvas Playground พร้อมหุ่นยนต์ VR ในตอนท้ายของโครงการ สี่เหลี่ยมจัตุรัสหนึ่งที่มีเส้นสีดำเข้มถูกวาดบนสนามเด็กเล่นไปทางขวาบนของหุ่นยนต์ VR

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