返回

Pygame贪吃蛇游戏开发指南:新手轻松入门

后端

1. 搭建Pygame开发环境

1.1 安装 Python 及 Pygame

首先,您需要确保计算机已安装 Python 环境。您可以前往 Python 官网下载并安装最新版本。然后,使用 pip 命令安装 Pygame:

pip install pygame

1.2 创建Pygame项目

创建一个新的项目文件夹,并使用您喜欢的代码编辑器或 IDE 打开。在该文件夹中,创建一个名为 main.py 的 Python 文件,作为游戏的主程序。

2. 初始化Pygame并设置游戏窗口

import pygame

# 初始化 Pygame
pygame.init()

# 设置游戏窗口大小
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# 设置窗口标题
pygame.display.set_caption("贪吃蛇游戏")

3. 创建贪吃蛇类

class Snake:
    def __init__(self):
        self.body = [(100, 100), (90, 100), (80, 100)]
        self.direction = 'RIGHT'

    def move(self):
        if self.direction == 'RIGHT':
            self.body.append((self.body[-1][0] + 10, self.body[-1][1]))
        elif self.direction == 'LEFT':
            self.body.append((self.body[-1][0] - 10, self.body[-1][1]))
        elif self.direction == 'UP':
            self.body.append((self.body[-1][0], self.body[-1][1] - 10))
        elif self.direction == 'DOWN':
            self.body.append((self.body[-1][0], self.body[-1][1] + 10))

        # 删除最前面的部分
        self.body.pop(0)

    def draw(self, screen):
        for segment in self.body:
            pygame.draw.rect(screen, (0, 255, 0), (segment[0], segment[1], 10, 10))

4. 创建食物类

class Food:
    def __init__(self):
        self.position = (300, 300)

    def draw(self, screen):
        pygame.draw.rect(screen, (255, 0, 0), (self.position[0], self.position[1], 10, 10))

5. 游戏主循环

# 创建贪吃蛇对象
snake = Snake()

# 创建食物对象
food = Food()

# 游戏主循环
while True:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT:
                snake.direction = 'RIGHT'
            elif event.key == pygame.K_LEFT:
                snake.direction = 'LEFT'
            elif event.key == pygame.K_UP:
                snake.direction = 'UP'
            elif event.key == pygame.K_DOWN:
                snake.direction = 'DOWN'

    # 更新贪吃蛇的位置
    snake.move()

    # 检查贪吃蛇是否吃到食物
    if snake.body[0] == food.position:
        # 贪吃蛇吃到食物,食物随机出现新的位置
        food.position = (random.randint(0, SCREEN_WIDTH - 10), random.randint(0, SCREEN_HEIGHT - 10))
        # 贪吃蛇的长度增加
        snake.body.append((snake.body[-1][0], snake.body[-1][1]))

    # 检查贪吃蛇是否撞到自身
    for segment in snake.body[1:]:
        if snake.body[0] == segment:
            pygame.quit()
            sys.exit()

    # 填充屏幕
    screen.fill((0, 0, 0))

    # 绘制贪吃蛇
    snake.draw(screen)

    # 绘制食物
    food.draw(screen)

    # 更新显示
    pygame.display.update()

    # 延迟更新速度
    pygame.time.Clock().tick(10)

至此,您已经构建了一个完整的贪吃蛇游戏。您可以进一步扩展游戏,例如添加计分系统、增加难度等级、添加背景音乐等,打造更有趣的游戏体验。