Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีพัฒนาเกมใน Python ด้วย PyGame

พัฒนาเกมใน Python ด้วย PyGame

สามารถพัฒนาเกมใน Python ได้โดยใช้ PyGame ซึ่งเป็น Module สำหรับพัฒนาเกม รวม Computer Graphics และ Sound Libraries ที่ใช้ในการพัฒนา Video Game

ขั้นตอนที่ 1: ติดตั้ง PyGame

ก่อนติดตั้ง PyGame ควรมี Python และ pip ติดตั้งไว้ในระบบแล้ว

เปิด Terminal แล้วรันคำสั่ง:

py -m pip install -U pygame --user

ขั้นตอนที่ 2: Import PyGame และสร้างหน้าต่างพื้นฐาน

โค้ดพื้นฐานสำหรับเปิดหน้าต่าง PyGame พร้อมปิดได้ปกติ:

import pygame

# เริ่มต้น PyGame
pygame.init()

# สร้างหน้าต่างขนาด 400x500
screen = pygame.display.set_mode((400, 500))
pygame.display.set_caption("My Game Window")

# Game Loop หลัก
running = True
while running:
    # Event Handling
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # Update Display
    pygame.display.flip()

# ปิด PyGame
pygame.quit()

ผลลัพธ์

จะได้หน้าต่าง PyGame ขนาด 400x500 พร้อมปุ่ม Minimize/Close/Maximize ตามปกติของ OS

โครงสร้าง Game Loop แบบสมบูรณ์

import pygame
import sys

pygame.init()

# Constants
WIDTH, HEIGHT = 800, 600
FPS = 60
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Complete Game Template")
clock = pygame.time.Clock()

# Game Objects
player_x, player_y = WIDTH // 2, HEIGHT // 2
player_speed = 5

running = True
while running:
    # 1. Event Handling
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False
    
    # 2. Input Handling (Continuous)
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player_x -= player_speed
    if keys[pygame.K_RIGHT]:
        player_x += player_speed
    if keys[pygame.K_UP]:
        player_y -= player_speed
    if keys[pygame.K_DOWN]:
        player_y += player_speed
    
    # 3. Game Logic Update
    # ... collision detection, AI, physics, etc.
    
    # 4. Rendering
    screen.fill(WHITE)
    pygame.draw.rect(screen, BLACK, (player_x, player_y, 50, 50))
    pygame.display.flip()
    
    # 5. Control FPS
    clock.tick(FPS)

pygame.quit()
sys.exit()

แนวทางเรียนรู้ PyGame

  1. เรียนรู้ Game Loop และ Event Handling
  2. ฝึกวาดรูปทรงพื้นฐาน (Rect, Circle, Line)
  3. เรียนรู้ Sprite และ Sprite Groups
  4. เพิ่ม Sound และ Music
  5. ทำ Collision Detection
  6. สร้างเกมง่ายๆ เช่น Pong, Snake, Platformer