บทที่ 3: การใช้การตรวจสอบเงื่อนไขขั้นสูง
วัตถุประสงค์การเรียนรู้
- นักเรียนจะได้เรียนรู้วิธีการใช้บล็อกการตรวจสอบเงื่อนไขขั้นสูง (Advanced Conditionals) เพื่อสร้างโปรแกรมที่มีการตัดสินใจซับซ้อนมากขึ้น
- นักเรียนจะสามารถสร้างเงื่อนไขที่ซ้อนกันหลายระดับ เพื่อให้โปรแกรมทำงานตามเงื่อนไขต่างๆ ที่กำหนดได้
1. การทบทวนการตรวจสอบเงื่อนไขพื้นฐาน
ก่อนเริ่มเรียนรู้การตรวจสอบเงื่อนไขขั้นสูง เรามาทบทวนการใช้เงื่อนไขพื้นฐานใน Scratch กันก่อน เงื่อนไข (Conditionals) คือบล็อกคำสั่งที่ช่วยให้โปรแกรมตัดสินใจทำสิ่งต่างๆ ตามสถานการณ์ เช่น ถ้าตัวละครแตะขอบเวทีให้หมุนกลับ หรือถ้าคะแนนมากกว่า 10 ให้แสดงข้อความ
- ถ้า...แล้ว: เมื่อเงื่อนไขเป็นจริง จะทำสิ่งที่อยู่ในบล็อก
- ถ้า...แล้ว...ไม่เช่นนั้น: เมื่อเงื่อนไขเป็นจริง จะทำสิ่งหนึ่ง แต่ถ้าไม่เป็นจริง จะทำอีกสิ่งหนึ่ง
ตัวอย่าง:
สร้างโปรแกรมที่ตัวละครเคลื่อนที่ และเมื่อแตะขอบเวที ให้ตัวละครหมุนกลับทิศทาง
2. การตรวจสอบเงื่อนไขขั้นสูง
การตรวจสอบเงื่อนไขขั้นสูงจะช่วยให้โปรแกรมสามารถตัดสินใจตามเงื่อนไขที่ซับซ้อนขึ้นได้ เช่น การตรวจสอบหลายเงื่อนไขพร้อมกัน หรือการใช้เงื่อนไขที่ซ้อนกันหลายระดับ (Nested Conditionals) ตัวอย่างเช่น ถ้าคะแนนของผู้เล่นมากกว่า 10 และผู้เล่นยังไม่ผ่านด่าน ให้แสดงข้อความ "เล่นต่อ" หรือถ้าคะแนนมากกว่า 20 ให้แสดงข้อความ "ผ่านด่าน"
เครื่องมือที่ใช้ในเงื่อนไขขั้นสูง:
- การซ้อนเงื่อนไข: ใช้บล็อกเงื่อนไขซ้อนกัน เช่น "ถ้า...แล้ว" ภายในอีกบล็อก "ถ้า...แล้ว" เพื่อเพิ่มความซับซ้อน
- การตรวจสอบหลายเงื่อนไขพร้อมกัน: ใช้ตัวดำเนินการทางตรรกะ เช่น AND, OR เพื่อให้โปรแกรมตรวจสอบเงื่อนไขหลายๆ อย่างพร้อมกัน
3. การใช้ตัวดำเนินการทางตรรกะ
ใน Scratch มีตัวดำเนินการทางตรรกะที่ช่วยให้ตรวจสอบเงื่อนไขหลายๆ อย่างพร้อมกัน:
- AND: ใช้ตรวจสอบว่าเงื่อนไขทั้งสองเป็นจริง เช่น ถ้าคะแนนมากกว่า 10 และตัวละครไม่แตะขอบเวที ให้ทำงาน
- OR: ใช้ตรวจสอบว่าเงื่อนไขข้อใดข้อหนึ่งเป็นจริง เช่น ถ้าตัวละครแตะขอบเวที หรือ คะแนนมากกว่า 20 ให้แสดงข้อความ
- NOT: ใช้ตรวจสอบว่าเงื่อนไขนั้นไม่เป็นจริง เช่น ถ้าคะแนนยังไม่ถึง 5 ให้แสดงข้อความ "ยังไม่ผ่าน"
ตัวอย่าง:
สร้างโปรแกรมที่ตรวจสอบว่าคะแนนของผู้เล่นมากกว่า 10 และตัวละครไม่แตะขอบเวที เพื่อให้ตัวละครเล่นต่อได้
4. การใช้เงื่อนไขซ้อนกัน
การใช้เงื่อนไขซ้อนกันทำให้โปรแกรมมีการตัดสินใจหลายขั้นตอน โดยเราสามารถใส่บล็อก "ถ้า...แล้ว" ภายในอีกบล็อกหนึ่งเพื่อสร้างการตัดสินใจที่ซับซ้อนมากขึ้น เช่น ในเกม ถ้าผู้เล่นมีคะแนนมากกว่า 10 ให้ตรวจสอบอีกว่าแตะขอบเวทีหรือไม่ ถ้าแตะขอบเวทีให้จบเกม แต่ถ้าไม่แตะขอบเวทีให้เล่นต่อ
ตัวอย่างการใช้เงื่อนไขซ้อนกัน:
- ใช้บล็อก "ถ้า...แล้ว" ภายในบล็อก "ถ้า...แล้ว" เพื่อตรวจสอบหลายเงื่อนไขในลำดับ
- ใช้ตัวแปรในการเก็บค่าเพื่อให้โปรแกรมตัดสินใจตามข้อมูลที่ซับซ้อน
ตัวอย่าง:
สร้างเกมที่ตัวละครเล่นต่อเมื่อคะแนนมากกว่า 10 และไม่แตะขอบเวที แต่ถ้าแตะขอบเวทีให้จบเกม
5. การประยุกต์ใช้เงื่อนไขขั้นสูงในเกม
ในการสร้างเกมที่ซับซ้อนมากขึ้น นักเรียนสามารถใช้การตรวจสอบเงื่อนไขขั้นสูงเพื่อตัดสินใจและควบคุมพฤติกรรมของตัวละคร เช่น การสร้างด่านที่ผู้เล่นต้องผ่านเงื่อนไขต่างๆ หรือการตัดสินใจตามเงื่อนไขหลายๆ ข้อในเวลาเดียวกัน
- ใช้ตัวแปรในการจัดการสถานะต่างๆ ของเกม เช่น การนับคะแนนหรือจำนวนครั้งที่ผู้เล่นทำงานสำเร็จ
- ใช้เงื่อนไขหลายระดับเพื่อควบคุมการเปลี่ยนแปลงฉากหรือการดำเนินเกม
6. สรุปบทเรียน
- นักเรียนได้เรียนรู้การใช้การตรวจสอบเงื่อนไขขั้นสูงเพื่อสร้างโปรแกรมที่มีการตัดสินใจซับซ้อน
- นักเรียนสามารถใช้ตัวดำเนินการทางตรรกะและเงื่อนไขซ้อนกันเพื่อสร้างโปรแกรมที่ตอบสนองต่อสถานการณ์ที่ซับซ้อน
กิจกรรมเสริม
ให้นักเรียนสร้างเกมที่มีการตัดสินใจหลายระดับ โดยใช้ตัวแปรและเงื่อนไขซับซ้อน เช่น สร้างเกมที่ผู้เล่นต้องผ่านเงื่อนไขหลายอย่างพร้อมกันเพื่อผ่านด่าน