编写简易贪吃蛇小游戏教程

在本教程中,我们将使用Pygame库来创建游戏窗口、处理键盘输入以及绘制游戏界面。

首先,确保你已经安装了Pygame库。你可以使用以下命令来安装它:

pip install pygame

一旦安装好Pygame,我们就可以开始编写代码了。

import pygame
import random

# 游戏窗口尺寸
WIDTH = 800
HEIGHT = 600

# 蛇身单元格尺寸
CELL_SIZE = 20

# 初始化Pygame
pygame.init()

# 创建游戏窗口
window = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("贪吃蛇")

# 定义颜色
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
RED = (255, 0, 0)

# 蛇的初始位置和移动方向
snake_x = WIDTH // 2
snake_y = HEIGHT // 2
snake_dx = 0
snake_dy = 0

# 食物的初始位置
food_x = random.randint(0, WIDTH // CELL_SIZE - 1) * CELL_SIZE
food_y = random.randint(0, HEIGHT // CELL_SIZE - 1) * CELL_SIZE

# 蛇的身体
snake_body = [(snake_x, snake_y)]

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                snake_dx = 0
                snake_dy = -CELL_SIZE
            elif event.key == pygame.K_DOWN:
                snake_dx = 0
                snake_dy = CELL_SIZE
            elif event.key == pygame.K_LEFT:
                snake_dx = -CELL_SIZE
                snake_dy = 0
            elif event.key == pygame.K_RIGHT:
                snake_dx = CELL_SIZE
                snake_dy = 0

    # 更新蛇的位置
    snake_x += snake_dx
    snake_y += snake_dy

    # 检查蛇是否吃到食物
    if snake_x == food_x and snake_y == food_y:
        # 生成新的食物位置
        food_x = random.randint(0, WIDTH // CELL_SIZE - 1) * CELL_SIZE
        food_y = random.randint(0, HEIGHT // CELL_SIZE - 1) * CELL_SIZE
        # 增加蛇的长度
        snake_body.append((snake_x, snake_y))

    # 更新蛇的身体
    snake_body = [(snake_x, snake_y)] + snake_body[:-1]

    # 绘制游戏界面
    window.fill(BLACK)
    pygame.draw.rect(window, GREEN, (food_x, food_y, CELL_SIZE, CELL_SIZE))
    for x, y in snake_body:
        pygame.draw.rect(window, RED, (x, y, CELL_SIZE, CELL_SIZE))

    # 刷新屏幕
    pygame.display.flip()

    # 控制游戏速度
    pygame.time.Clock().tick(10)

# 退出游戏
pygame.quit()
 

在上面的代码中,我们使用了Pygame库来创建了一个游戏窗口,处理键盘输入以及绘制游戏界面。游戏主循环不断更新蛇的位置、检查蛇是否吃到食物,并根据这些信息来绘制游戏界面。

你可以运行上面的代码来体验贪吃蛇小游戏。蛇的初始位置位于游戏窗口的中心,使用方向键来控制蛇的移动。当蛇吃到食物时,它的长度会增加,并且会在随机位置生成新的食物。

下面是运行图:

请注意,这只是一个简单的贪吃蛇游戏示例,你可以根据自己的需要进行修改和扩展。希望这个教程对你有帮助!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值