"เหนื่อยไหม...ถ้าต้องสั่งซ้ำๆ?"
มารู้จักกับบล็อกสีส้ม (Control) ผู้ช่วยแสนขยัน
ที่จะทำให้โค้ดสั้นลง แต่ทำงานได้มากกว่าเดิม!
👇 หมุนตัวไปพร้อมกันเลย! 👇
ลองนึกภาพตอนครูพละสั่งให้ "วิ่งรอบสนาม 10 รอบ" ครับ
ครูคงไม่สั่งว่า: "วิ่งรอบที่ 1... วิ่งรอบที่ 2... วิ่งรอบที่ 3..." จนถึง 10 หรอกจริงไหมครับ? (เหนื่อยทั้งคนสั่ง คนฟัง)
ครูจะสั่งสั้นๆ แค่ว่า "วิ่งวนไป! 10 รอบ" จบเลย!
ใน Scratch ก็เหมือนกัน! Loop (ลูป) คือคำสั่งที่บอกให้คอมพิวเตอร์ทำอะไรซ้ำๆ เดิมๆ โดยที่เราไม่ต้องเขียนคำสั่งใหม่ทุกบรรทัด ช่วยให้งานเสร็จไวขึ้นเยอะเลย!
(ภาพจำลอง: การวิ่งวนเป็นวงกลม เปรียบเสมือนการทำงานแบบ Loop)
ใน Scratch มีบล็อกลูปสีส้ม 2 ตัวที่เราใช้บ่อยมากๆ:
- Repeat (ทำซ้ำ ... ครั้ง): สั่งให้ทำซ้ำตามจำนวนที่เรากำหนดเป๊ะๆ
(เช่น กระโดด 5 ครั้ง, หมุนตัว 3 รอบ)
- Forever (วนซ้ำตลอดไป): สั่งให้ทำไปเรื่อยๆ ไม่มีวันหยุด จนกว่าเราจะกดปุ่มหยุดแดง
(เช่น เพลงประกอบเกมที่เปิดวนไปเรื่อยๆ, ตัวละครหายใจ)
บล็อกพวกนี้จะมีรูปร่างเหมือน "ปากตัว C" ที่คอยงับบล็อกคำสั่งอื่นๆ ไว้ข้างในครับ
ลองดูตัวอย่างการสั่งให้ตัวละครเดินเป็นรูปสี่เหลี่ยมนะครับ:
❌ แบบไม่ใช้ Loop: (ยาวเหยียด!)
เดินหน้า, เลี้ยวขวา, เดินหน้า, เลี้ยวขวา, เดินหน้า, เลี้ยวขวา, เดินหน้า, เลี้ยวขวา
✅ แบบใช้ Loop: (สั้นนิดเดียว!)
Repeat (4)
[ เดินหน้า, เลี้ยวขวา ]
เห็นไหมครับว่าผลลัพธ์เหมือนกัน แต่เขียนโค้ดสั้นกว่ากันตั้งเยอะ! นี่แหละความเท่ของ Loop
(ภาพเปรียบเทียบ: โค้ดที่ยาวเหยียด vs โค้ดสั้นๆ ที่ใช้บล็อก Repeat)
🔁 ทดสอบความเข้าใจเรื่องวงวน