การเขียนโปรแกรมเบื้องต้นด้วยบล็อก
บทที่ 4
>
ระดับ 4

ลูปและการทำซ้ำ
ลำดับการทำงานของ For Loop

วัตถุประสงค์

เก็บเมล็ดธัญพืชและหาทางออกจากเขาวงกตโดยใช้บล็อกไม่เกินสี่ (4) บล็อก

คุณพบว่าตัวเองหลงอยู่กลางเขาวงกต ให้ใช้ลูปเพื่อเก็บเมล็ดธัญพืชในสนามและออกจากเขาวงกต

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

ใช้บล็อก for loop พร้อมตัวแปรชื่อ x ซึ่งจะตรวจสอบว่าบล็อก for loop ดำเนินการไปแล้วกี่รอบ ตั้งค่าให้เริ่มจาก 0 และไปจนถึงตัวเลข (เช่น 11) ส่วน by 1 ตอนท้ายคือการกำหนดจำนวนหน่วยที่จะเพิ่มในแต่ละรอบ ในตัวอย่างนี้ลูปจะเริ่มที่ 0 และเพิ่มทีละ 1 จนถึง 11

Block Diagram

เราจะใช้ลูปเพื่อเพิ่มจำนวนก้าวที่คุณเดินในแต่ละรอบเพื่อให้ไปถึงจุดหมาย ให้ใช้บล็อก operator ร่วมกับบล็อก move forward เพื่อให้เดินเพิ่มขึ้นทีละหนึ่งในทุกๆ การวนลูป โดยลากและวางบล็อก operator จากเมนู Math แล้ววางไว้ภายในบล็อก move forward พร้อมเพิ่มตัวแปร standalone X จากเมนู variables

Block Diagram

ตั้งค่า operator เป็นการบวก + และตัวเลขเป็น 1 เพื่อให้จำนวนก้าวในการวนลูปแต่ละครั้งเพิ่มขึ้น ในทางปฏิบัติจะเป็นดังนี้:

  • รอบแรก x เท่ากับ 0 (x + 1 = 1) ผู้เล่นเดิน 1 ก้าว
  • รอบที่สอง x เท่ากับ 1 (x + 1 = 2) ผู้เล่นเดิน 2 ก้าว
  • รอบที่สาม x เท่ากับ 2 (x + 1 = 3) ผู้เล่นเดิน 3 ก้าว

และต่อไปเรื่อยๆ

เนื่องจากเขาวงกตต้องการให้คุณเปลี่ยนทิศทาง ให้ใช้บล็อก turn left ที่ท้ายลูป เพื่อให้ในแต่ละรอบคุณเปลี่ยนทิศทางหลังจากเคลื่อนที่ ด้วยวิธีนี้คุณจะสามารถเก็บเมล็ดธัญพืชทั้งหมดในแผนที่และผ่านด่านได้

Block Diagram

อย่าลืมว่าต้องทำให้เสร็จโดยใช้บล็อกไม่เกินสี่ (4) บล็อก

หนังสือโค้ด