สคริปต์ Delicious Fish ตอน 1

ทดลองเล่นเกม Delicious Fish ในเว็บไซต์ Scratch หรือดาวน์โหลดมาเล่นที่เครื่องคุณเอง ได้ ที่นี้

การควบคุมเกมเป็นกลไกอันสำคัญที่ขับเคลื่อนเกมไปข้างหน้า ตั้งแต่ต้นเกมจนกระทั้งจบเกม ตัวควบคุมเกมทำหน้าที่เชื่อมโยงตัวละครต่างๆ จัดลำดับการทำงาน และติดต่อกับผู้เล่นผ่านหน้าจอของเกม

รูปตัวอย่างจากเกม Delicious Fish ด้านล่างนี้ เป็นลำดับของการเล่นเกม (เรียงจากซ้ายไปขวา บนลงล่าง) เริ่มจากบอกวิธีการเล่นสั้นๆ (ถ้าต้องการดูรายละเอียด ไปที่ Project notes) จากนั้นเข้าสู่ระดับแรก (level 1) ถัดไปเป็นฉากขณะเล่นในระดับแรก จากนั้นเข้าสู่ระดับสอง (level 2) ถัดไปเป็นฉากขณะเล่นในระดับสอง สุดท้ายเป็นฉากจบเกม (Game over) ซึ่งบอกคะแนนรวม และก็จำนวนปลาชนิดต่างๆ ที่กินได้ รวมทั้งสองระดับ

สคริปต์ของตัวควบคุมเกม (game control) เริ่มเมื่อคลิกธงเขียวก็ส่งระหัส “setup” ให้ปลาทุกตัวเตรียมพร้อมก่อนเข้าสู่การเล่น จากนั้นตั้งค่าเริ่มต้นให้ตัวแปร คะแนน (score), เวลา (time), ระดับ (level), ปลาทอง (goldfish), ปลาทองตัวที่ 1 ในระดับสอง (goldfish1), และปลาสีเขียว (greenfish) ตอนออกแบบสร้างเกม ให้คลิกเลือกตัวแปร score ตัวเดียวให้แสดงบนหน้าเวทีตลอดเกม จากนั้นแสดงวิธีการเล่นให้ดู 2 วินาที ต่อด้วยการบอกผู้เล่นว่าจะเข้าสู่การเล่นระดับแรก (level 1) 2 วินาที ก่อนที่จะหายไป ส่งรหัส “level1” ให้ตัวละครทุกตัวเข้าสู่การเล่นระดับแรก

ตัวควบคุมเองก็รับรหัส “level1” เพื่อควบคุมการเล่นในระดับนี้ (ภายในบล็อก forever) ซึ่งทำงานหลักๆ อยู่ 2 อย่าง คือควบคุมเวลา และการส่งต่อไปยังระดับต่อไป โดยใช้บล็อกถ้า (if) เช็คว่าเวลาหมดหรือยัง (time > 0 ?) ถ้ายังก็ลดตัวแปรเวลาลง 1 ทุก 1 วินาที (ใช้บล็อก wait นับเวลา) ถ้าเวลาหมดหมายความว่า ให้เริ่มระดับต่อไป โดยตั้งเวลาใหม่สำหรับระดับสอง และเปลี่ยนตัวแปรระดับเป็น 2 จากนั้นส่งรหัส “setup” ให้ปลาทุกตัวเตรียมพร้อมการเล่นในระดับสอง ต่อด้วยการบอกผู้เล่นว่า จะเข้าสู่การเล่นระดับสอง (level 2 ) โดยให้เวลาผู้เล่นเตรียมตัว 4 วินาที ก่อนจะส่งรหัส “level2” ให้ตัวละครทุกตัว สุดท้ายหยุดการทำงานทั้งหมดในสคริปต์นี้ (ออกจากบล็อก forever) โดยใช้บล็อก “stop script”

และเช่นเดียวกัน ตัวควบคุมเองก็รับรหัส “level2” เพื่อควบคุมการเล่นในระดับ 2 ซึ่งจะจับเวลาเหมือนระดับแรก แต่เมื่อเวลาหมด ให้เปลี่ยนระดับเป็น 0 (ไม่มีระดับต่อไปอีกแล้ว) จากนั้นบอกผู้เล่นว่าจบเกม และให้เวลา 1.5 วินาที กับตัวละครทุกตัวเตรียมพร้อมจบเกม เมื่อได้รหัส “game-over” ซึ่งส่งโดยบล็อก “broadcast game-over and wait” ที่ต้องให้รอ (wait ) ก่อนที่จะจบสคริปต์ทั้งหมดในโปรเจกนี้ ด้วยบล็อก “stop all” เพราะว่าต้องการให้ตัวละครอื่นๆ เล่นฉากจบของตัวเอง ก่อนที่ม่านฉากจะปิดลง

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s