Categories
Game Scratch

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

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

เดิมทีปลาทองทุกตัวเหมือนกันหมดในโปรเจก FishChomp ปลาทองจะว่ายส่ายไปมา และเมื่อชนขอบเวทีก็จะเด้งกลับ ถ้าโดยกินก็จะหายตัวไปสักพักก่อนจะโผล่มา ณ ตำแหน่งใหม่แบบสุ่ม

แต่ในโปรเจกนี้ปลาทองต่างไป ทั้งพฤติกรรม และจำนวนที่มากขึ้น โปรเจกนี้มีสองระดับต่อเนื่องกัน โดยมีตัวควบคุมเกมคอยสั่งการ ให้ปลาแต่ละตัวทำงานในแต่ละเหตุการณ์ เหมือนกันบ้าง ต่างกันบ้าง

มาดูสคริปต์ของปลาทองตัวที่ 2-4 ซึ่งคล้ายกันมากยกเว้นตอนจบเกม เริ่มจากรับรหัส “setup” เป็นการเตรียมตัวก่อนการเล่นเกมในแต่ละระดับ ซึ่งทำเพียงแค่ซ่อนตัว (hide) และเมื่อได้รหัส “level1” เริ่มต้นเกมระดับแรก ปลาทองก็จะโผล่ออกมา จากนั้นจะทำงานไปเรื่อยๆ ในบล็อก forever เมื่อยังอยู่ในระดับนี้ โดยเช็กตัวแปร “level=1” หรือไม่ ถ้าใช่มันก็จะเคลื่อนไปข้างหน้า 2 หน่วย ส่ายหน้าไปทางซ้ายหรือขวาจากค่าสุ่มระหว่าง -20 ถึง 20 องศา แล้วเช็กตัวเอง ถ้าชนขอบเวทีก็เด้งกลับ ต่อด้วยการเช็กว่าตัวเองถูกกินหรือเปล่า โดยเช็กที่สีส้มของตัวเอง สัมผัสกับสีน้ำเงินของปากปลาตัวใหญ่หรือไม่ ถ้าถูกกินก็จะส่งรหัส “got-me” ให้ปลาตัวใหญ่ จากนั้นซ่อนตัว รอ 1 วินาที (เร็วกว่าของเดิม) แล้วโผล่มาใหม่ ณ ตำแหน่งที่ได้จากการสุ่ม ตำแหน่งไหนก็ได้ของเวที (ของเดิมถูกจำกัดบริเวณแคบๆ)

เมื่อได้รหัส “level2” ก็เริ่มระดับสอง ซึ่งพฤติกรรมเหมือนระดับแรก ยกเว้นว่าต้องเช็กว่ายังอยู่ในระดับสองหรือไม่ (level = 2 ?)

และเมื่อเวลาหมด จะได้รับรหัส “game-over” เพื่อให้ปลาแต่ละชนิดแสดงจำนวนที่ถูกกิน ที่หน้าจอก่อนจะจบเกม ปลาทองตัวที่ 2 (สคริปต์รูปบน) เป็นตัวแทนของปลาทอง 1-4 (ตัวที่ 1 เฉพาะระดับแรก) จะไปตำแหน่ง x:-44, y: 75 แล้วหันไปทิศ 108 องศา และแสดงจำนวนปลาทองที่ถูกกินในตัวแปร goldfish

ตำแหน่งและทิศของปลาทองตัวที่ 2 หาได้ตอนออกแบบเกม โดยนำมันวางตำแหน่งและทิศที่ต้องการ แล้วนำค่าตำแหน่งและทิศที่แสดงในส่วนของข้อมูลปลาทอง 2 มาใส่ในบล็อก

ส่วนปลาทอง 3 และ 4 (รูปซ้าย) เมื่อได้รับรหัส “game-over” ก็แค่หายตัวไป เท่านั้นเอง

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 )

Facebook photo

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

Connecting to %s