ผลต่างระหว่างรุ่นของ "สร้างเกมด้วย Pygame"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 20: แถว 20:
 
|}
 
|}
  
== ดาวน์โหลดโค้ดต้นแบบ ==
+
== โค้ดต้นแบบ ==
 
ดาวน์โหลดโค้ดต้นแบบจากลิ้งค์ [http://www.cpe.ku.ac.th/~cpj/204223/squash.py http://www.cpe.ku.ac.th/~cpj/204223/squash.py] แล้วนำมาบันทึกไว้ในไดเรคตอรีเดียวกันกับโมดูล <tt>practicum.py</tt> และ <tt>peri.py</tt> ที่ได้มาจากการปฏิบัติตามขั้นตอนในวิกิ [[การติดต่อกับบอร์ด MCU ผ่าน USB ด้วย Arduino]] ทดลองรันโปรแกรมด้วยไพทอน
 
ดาวน์โหลดโค้ดต้นแบบจากลิ้งค์ [http://www.cpe.ku.ac.th/~cpj/204223/squash.py http://www.cpe.ku.ac.th/~cpj/204223/squash.py] แล้วนำมาบันทึกไว้ในไดเรคตอรีเดียวกันกับโมดูล <tt>practicum.py</tt> และ <tt>peri.py</tt> ที่ได้มาจากการปฏิบัติตามขั้นตอนในวิกิ [[การติดต่อกับบอร์ด MCU ผ่าน USB ด้วย Arduino]] ทดลองรันโปรแกรมด้วยไพทอน
  
แถว 31: แถว 31:
 
* หากรับลูกพลาดและลูกกระทบกำแพงด้านซ้ายมือถือเป็นการจบเกม
 
* หากรับลูกพลาดและลูกกระทบกำแพงด้านซ้ายมือถือเป็นการจบเกม
 
* กดปุ่ม ESC เพื่อออกจากเกมได้ตลอดเวลา
 
* กดปุ่ม ESC เพื่อออกจากเกมได้ตลอดเวลา
 +
 +
=== โครงสร้างคลาสของเกม ===
 +
class diagram
  
 
== ควบคุมผู้เล่นด้วยบอร์ดไมโครคอนโทรลเลอร์ ==
 
== ควบคุมผู้เล่นด้วยบอร์ดไมโครคอนโทรลเลอร์ ==

รุ่นแก้ไขเมื่อ 00:03, 8 พฤศจิกายน 2557

วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223

Pygame เป็นโมดูลภาษาไพทอนที่ออกแบบมาเพื่อความสะดวกในการพัฒนาเกม วิกินี้ยกตัวอย่างการสร้างเกมอย่างง่ายที่อาศัยบอร์ดไมโครคอนโทรลเลอร์ในการควบคุมผู้เล่น

การติดตั้ง

สำหรับระบบปฏิบัติการ Ubuntu Linux ใช้คำสั่ง apt-get ติดตั้งได้โดยตรง

sudo apt-get install python-pygame

ส่วนระบบปฏิบัตการ Mac OS X หรือระบบปฏิบัติการอื่น ๆ ให้ดาวน์โหลดตัวติดตั้งจากเว็บไซท์ http://pygame.org/download.shtml

เกมตัวอย่าง: สควอช

เกมที่เราจะใช้เป็นตัวอย่างเรียกว่า Squash ดัดแปลงมาจากเกม Pong ที่เป็นคลาสสิคสุดฮิต ลักษณะการเล่นจะเป็นผู้เล่นตั้งแต่หนึ่งคนขึ้นไปตีลูกกระทบกำแพง และพยายามรับลูกที่สะท้อนกลับมาให้ได้

สนามแข่งสควอช
หน้าจอเกมสควอชต้นแบบที่สร้างด้วย Pygame

โค้ดต้นแบบ

ดาวน์โหลดโค้ดต้นแบบจากลิ้งค์ http://www.cpe.ku.ac.th/~cpj/204223/squash.py แล้วนำมาบันทึกไว้ในไดเรคตอรีเดียวกันกับโมดูล practicum.py และ peri.py ที่ได้มาจากการปฏิบัติตามขั้นตอนในวิกิ การติดต่อกับบอร์ด MCU ผ่าน USB ด้วย Arduino ทดลองรันโปรแกรมด้วยไพทอน

python squash.py

ควรปรากฏผลลัพธ์ดังรูปตัวอย่างข้างต้น เกมต้นแบบมีกติกาและการควบคุมดังนี้

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

โครงสร้างคลาสของเกม

class diagram

ควบคุมผู้เล่นด้วยบอร์ดไมโครคอนโทรลเลอร์

import pygame
from pygame.locals import *
from practicum import findDevices
from peri import PeriBoard

ลดการส่ายของไม้ตี

รองรับผู้เล่นหลายคน

เพิ่มจำนวนลูก

เพิ่มความเร็วเมื่อตีลูกโดน

สุ่มปรับความเร็วในแนวตั้งเมื่อลูกกระทบไม้ตี

เพิ่มแรงโน้มถ่วง