งูเลื้อยเพลิน “Slither Joy”

จัดทำโดย นาย ณัฐวัฌน์ สุวรรณวงศ์ รหัส 038

1. ความเป็นมา

เกม Snake เป็นเกมที่ได้รับความนิยมอย่างแพร่หลายในยุคแรกของโทรศัพท์มือถือ โดยเป็นเกมที่ผู้เล่นควบคุมงูให้กินอาหารและเติบโต โดยไม่ชนกับตัวเองหรือขอบสนาม เกม Snake เวอร์ชันนี้เป็นการพัฒนาโดยใช้ JavaScript เพื่อสร้างประสบการณ์การเล่นที่น่าสนใจยิ่งขึ้น พร้อมกับการออกแบบที่ทันสมัยและเพิ่มองค์ประกอบการเล่นที่ท้าทาย เช่น การเพิ่มเอฟเฟกต์พิเศษเมื่อเก็บอาหาร และระบบการจัดเก็บคะแนนสูงสุด

2. วัตถุประสงค์

  • เพื่อสร้างเกม Snake ที่มีการพัฒนาในด้านกราฟิกและการเล่น ให้เหมาะสมกับผู้เล่นยุคใหม่
  • เพิ่มความสนุกสนานในการเล่น โดยใช้สีสันและเอฟเฟกต์ที่น่าสนใจ
  • เป็นตัวอย่างโปรแกรมเพื่อศึกษาและฝึกฝนการเขียน JavaScript สำหรับผู้ที่สนใจการพัฒนาเกม

3. ขอบเขต

โปรแกรมนี้จะทำงานในเบราว์เซอร์ รองรับการควบคุมผ่านปุ่มลูกศรบนคีย์บอร์ด ผู้เล่นสามารถเล่นซ้ำได้ตลอด โดยมีการจัดเก็บคะแนนสูงสุดของผู้เล่นไว้ใน Local Storage ของเบราว์เซอร์ ขอบเขตของเกมรวมถึง:

  • สนามเล่นที่มีขนาด 400×400 พิกเซล
  • งูสามารถเคลื่อนที่ขึ้น, ลง, ซ้าย, ขวา ผ่านการกดปุ่มลูกศร
  • ระบบการตรวจจับการชน เช่น การชนขอบสนามหรือชนตัวเอง
  • การเก็บอาหารที่ปรากฏในตำแหน่งสุ่ม

4. ประโยชน์ที่คาดว่าจะได้รับ

  • ผู้เล่นสามารถใช้เกมนี้เป็นกิจกรรมเพื่อการผ่อนคลายและความสนุกสนาน
  • เป็นเครื่องมือสำหรับการเรียนรู้การพัฒนาเกมพื้นฐานด้วย JavaScript และการจัดการ Canvas
  • ช่วยเสริมสร้างทักษะการคิดและการวางแผนผ่านการควบคุมงูให้เติบโตโดยไม่ชนสิ่งกีดขวาง

5. ความรู้ที่เกี่ยวข้อง

  • JavaScript: เป็นภาษาที่ใช้ในการพัฒนาเกมนี้ โดยมีการจัดการการเคลื่อนไหว การชน และการสร้างอนุภาคพิเศษ (particles)
  • Canvas API: ใช้สำหรับวาดภาพต่างๆ เช่น งู อาหาร และสนามการเล่น
  • Local Storage: ใช้เพื่อเก็บคะแนนสูงสุดของผู้เล่นเพื่อเรียกคืนในภายหลัง
  • HTML & CSS: ใช้ในการสร้างโครงสร้างและการออกแบบส่วนหน้าของเกม รวมถึงการจัดตำแหน่งปุ่มและหน้าจอ

6. สรุปวิธีการใช้โปรแกรม

  1. เมื่อเข้าสู่โปรแกรม ผู้เล่นจะเห็นสนามเล่นพร้อมกับงูที่อยู่ตรงกลางสนาม
  2. ผู้เล่นใช้ปุ่มลูกศรในการควบคุมงู เพื่อให้เคลื่อนที่และเก็บอาหาร
  3. ทุกครั้งที่งูกินอาหาร จะมีการเพิ่มคะแนน และงูจะยาวขึ้น
  4. หากงูชนกับตัวเองหรือชนขอบสนาม เกมจะจบลง พร้อมแสดงคะแนนปัจจุบันและคะแนนสูงสุด
  5. ผู้เล่นสามารถกดปุ่ม “RESTART” เพื่อเริ่มเกมใหม่

7. สรุปผลการทดลอง

หลังจากการทดสอบเกม พบว่าเกมสามารถทำงานได้ตามที่วางแผนไว้ ผู้เล่นสามารถควบคุมงูได้อย่างราบรื่น การชนและการตรวจจับการเก็บอาหารทำงานถูกต้อง ระบบคะแนนสูงสุด (max score) ทำงานตามที่คาดหวัง โดยสามารถเก็บคะแนนสูงสุดไว้แม้หลังจากรีสตาร์ทเกม

8. การทำงานของโปรแกรม

โปรแกรมนี้ใช้โครงสร้างหลักในการจัดการเกมดังนี้:

  • การเริ่มเกม: เรียกฟังก์ชัน initialize() เพื่อสร้างงูและอาหาร พร้อมทั้งเซ็ตอัประบบฟังค์ชันที่เกี่ยวข้อง เช่น การฟังการกดปุ่ม
  • การควบคุมงู: ใช้ฟังก์ชัน controlls() เพื่อเปลี่ยนทิศทางการเคลื่อนที่ของงูตามปุ่มที่กด
  • การอัปเดตตำแหน่ง: งูจะอัปเดตตำแหน่งใหม่ทุกๆ 5 เฟรม และเก็บบันทึกตำแหน่งของตนเองเพื่อตรวจจับการชนตัวเอง
  • การตรวจจับการชน: ตรวจจับการชนงูและขอบสนาม รวมถึงการชนอาหาร เพื่อเพิ่มคะแนนและทำให้งูยาวขึ้น
  • การแสดงผล: ใช้ฟังก์ชัน drawGrid() และ draw() เพื่อแสดงสนาม งู และอาหารบนหน้าจอ

Code ที่ใช้งาน

https://onlinegdb.com/8Oyhr6ePb

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *