Page 64 - ใช้ในกิจกรรมการเรียนการสอน โรงเรียนบ้านเขาหินซ้อนฯ เท่านั้น...
P. 64
กิจกรรมที่ 3
ก�ำหนดกำรท�ำงำนของอุกกำบำต
สร้างงานย่อย space_rocks เพื่อก�าหนดต�าแหน่งและการเคลื่อนของอุกกาบาตดังนี้
เริ่มต้น (space_rocks)
หน่วงเวลา 0.5 วินาที
วนซ�้ำตลอดกำรท�ำงำน
ตรวจสอบสถานะอุกกาบาต
ถ้ำ สถานะอุกกาบาต (rock_life) = 0 แล้ว
สุ่มค่าเริ่มต้น rx_pos ระหว่าง 0 ถึง 15
ก�าหนดค่า ry_pos = 6
ก�าหนดค่าสถานะอุกกาบาต ry_pos = 1
ถ้า rx_pos <= 8 แล้ว
ก�าหนดให้เคลื่อนไปทางขวา r_direction = 0
ไม่เช่นนั้น
ก�าหนดให้เคลื่อนไปทางซ้าย r_direction = 1
ถ้ำ สถานะอุกกาบาต (rock_life) = 1 แล้ว
ปิดหลอดไฟต�าแหน่งอุกกาบาตเดิม
ถ้า r_direction=0 แล้ว
เพิ่ม rx_pos อีก 1
ไม่เช่นนั้น
ลด rx_pos ลง 1
ถ้า rx_pos ไม่อยู่ในช่วง -2 ถึง 16 แล้ว
ก�าหนดค่าสถานะอุกกาบาต ry_pos=0 (ออกจากพื้นที่ ไม่แสดงอุกกาบาตอีก)
ไม่เช่นนั้น
เปิดหลอดไฟต�าแหน่งอุกกาบาตที่เปลี่ยนไป
ถ้ำ สถานะอุกกาบาต (rock_life) = 2 แล้ว
ก�าหนดค่าสถานะอุกกาบาต ry_pos=0
เพิ่มค่าคะแนน อีก 1 คะแนน
ก�าหนดค่าสถานะการยิง shoot_status=0
ปิดหลอดไฟต�าแหน่งอุกกาบาตเดิม
จบ
จากรหัสล�าลองในการท�างานของอุกกาบาตข้างต้น เราสามารถเขียนโปรแกรมได้ดังรูปที่ 4 อย่างไรก็ตาม โปรแกรมในรูปที่
4 ยังขาดรายละเอียดบางส่วน จึงก�าหนดให้นักเรียนเขียนโปรแกรมให้สมบูรณ์
56