สร้างเกม SCRATCH
เกม Flappy Bird
วิธีสร้างเกมคือ
1. มีตัวแปร 6 ตัวคือ
– gravity เป็นตัวแปรสำหรับกำหนดค่าให้ดึงตัวละครลงมาที่พื้น
– jump เป็นตัวแปรสำหรับกำหนดว่าการคลิกเมาส์หรือกด space bar 1 ครั้ง จะให้เคลื่อนที่ขึ้น
(บิน) กี่ step
– speed เป็นตัวแปรสำหรับการกำหนดค่าความเร็วในการเคลื่อนที่ให้ตัวละคร
– verticalSpeed เป็นตัวแปรสำหรับการกำหนดค่าความเร็วในการเคลื่อนที่ในแนวตั้งให้ตัวละคร
– digitPosition เป็นตัวแปรสำหรับการกำหนดตำแหน่งของตัวเลข score
– score เป็นตัวแปรสำหรับเก็บคะแนนในครั้งนั้น ๆ ที่เราเล่น
2. จะมีตัว Sprite 5 ตัว แต่ละตัวมีหน้าที่และหลักการทำงาน ดังนี้
2.1 sprite flappy เป็นตัวละครหลักที่จะทำการเคลื่อนที่ไปเรื่อย ๆ โดยมีหลักการทำงานคือ
– เมื่อกดธงเขียวจะทำการกำหนดค่าให้กับตัวแปร speed เป็น 3 ตัวแปร gravity เป็น 1 และตัวแปร jump เป็น 7
– เมื่อได้รับการ broadcast “Start game” จะทำการกำหนดค่าให้กับตัวแปร verticalSpeed เป็น 0 และทำการทำคำสั่งดังนี้ไปเรื่อย ๆ
- เช็กว่ามีการคลิกเมาส์หรือกด space bar หรือไม่ ถ้ามีการทำอย่างใดอย่างหนึ่งให้ส่งเสียง “stx-wing” และกำหนดค่าของตัวแปร verticalSpeed เท่ากับค่าของตัวแปร jump
- ให้ทำการหันหน้าตัวตัวละคร โดยคำนวณจาก 90 – (2*verticalSpeed)
- เปลี่ยนค่า y โดยใช้ค่าจากตัวแปร verticalSpeed
- กำหนดค่าให้ตัวแปร verticalSpeed เป็นค่าที่ได้จากค่าของตัวแปร verticalSpeed – ค่าตัวแปร gravity
– เมื่อได้รับการ broadcast “Start game” ทำการรอจนกระทั่งมีการแตะ sprite ground หรือ sprite pipe หลังจากนั้นให้กำหนดค่าของตัวแปร verticalSpeed เป็น 0 และส่งเสียง “tx-hit” ทำการเปลี่ยนค่า x และ broadcast “New game”
– เมื่อได้รับการ broadcast “New game” จะทำการกำหนดค่าให้กับตัวแปร score เป็น 0 หยุดการทำงานของ script อื่นของ sprite นี้ ทำการรอ 1 วินาที และทำการ broadcast “Flap wings” ทำการเปลี่ยน x และ y ไปเรื่อย ๆ
– เมื่อได้รับการ broadcast “Flap wings” ทำการเปลี่ยน Costume
– เมื่อได้รับการ broadcast “Score Point” ให้ส่งเสียง “sfx-point”
2.2 sprite score ทำหน้าที่โชว์ตัวเลขคะแนนที่ได้ โดยมีหลักการทำงาน ดังนี้
– เมื่อกดธงเขียว ให้ไปในพิกัดที่กำหนด และซ่อนตัว
– เมื่อได้รับการ broadcast “Start game” ให้โชว์ตัวละครและเปลี่ยน costume
– เมื่อได้รับการ broadcast “New game” จะทำการกำหนดค่าให้กับตัวแปร score เป็น 0 และตัวแปร digitPosition เป็น 1
– เมื่อได้รับการ broadcast “Score Point” จะทำการเปลี่ยน costume และทำการสร้าง clone
– เมื่อมีการสร้าง clone จะทำการกำหนดค่าของตัวแปร digitPosition เป็นค่าของความยาวของตัวแปร score และทำการเปลี่ยน costume
2.3 sprite ground ทำหน้าที่เป็นพื้นเพื่อไม่ให้ตัวละคร flappy มาโดน โดยมีหลักการทำงาน ดังนี้
– เมื่อกดธงเขียวจะทำการโชว์ และสร้าง clone ตัวเอง เปลี่ยนแปลงตำแหน่งจนกว่าจะน้อยกว่า -236 และซ่อนตัวเอง
– เมื่อมีการสร้าง clone จะไปในพิกัดที่กำหนด เปลี่ยนแปลงตำแหน่งไปจนกว่าจะน้อยกว่า 0 และทำการสร้าง Clone หลังจากนั้นจะเปลี่ยนแปลงตำแหน่งในพิกัด x ไปจนกว่าจะน้อยกว่า -236 และลบ Clone ทิ้ง
2.4 sprite pipe ทำหน้าที่เป็นสิ่งกีดขวาง โดยมีหลักการทำงาน ดังนี้
– เมื่อกดธงเขียวจะซ่อนตัว
– เมื่อได้รับการ broadcast “Start game” จะสร้าง Clone
– เมื่อได้รับการ broadcast “New game” จะหยุดการทำงานของ script อื่นของ sprite นี้ และเปลี่ยนแปลงตำแหน่ง หลังจากนั้นลบ Clone ทิ้ง
– เมื่อมีการสร้าง clone จะทำการโชว์ และเปลี่ยน costume ตามการแรนดอม จากนั้นเปลี่ยนแปลงตำแหน่งในพิกัด x ไปจนกว่าจะน้อยกว่า -236 และลบ Clone ทิ้ง
– เมื่อมีการสร้าง clone จะรอจนกระทั่งตำแหน่งในพิกัด x น้อยกว่า -80 ทำการเปลี่ยนค่าตัวแปร score ทีละ +1 และทำการ broadcast “Score Point”
2.5 sprite start ทำหน้าเป็นปุ่มในการกดเริ่มเกม โดยมีหลักการทำงาน ดังนี้
– เมื่อกดธงเขียว จะทำการ broadcast “New game” และเคลียร์ effect
– เมื่อได้รับการ broadcast “New game” จะทำการเปลี่ยน effect
– เมื่อ sprite start ถูกคลิกจะทำการ broadcast “Start game” ทำการเปลี่ยน effect และซ่อนตัว
2.6 sprite title ทำหน้าที่บอกชื่อเกม โดยมีหลักการทำงาน ดังนี้
– เมื่อกดธงเขียว จะทำการเคลียร์ effect
– เมื่อได้รับการ broadcast “New game” จะทำการเปลี่ยน effect
– เมื่อได้รับการ broadcast “Start game” จะทำการเปลี่ยน effect และซ่อนตัว