在本教程中,我们将使用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库来创建了一个游戏窗口,处理键盘输入以及绘制游戏界面。游戏主循环不断更新蛇的位置、检查蛇是否吃到食物,并根据这些信息来绘制游戏界面。
你可以运行上面的代码来体验贪吃蛇小游戏。蛇的初始位置位于游戏窗口的中心,使用方向键来控制蛇的移动。当蛇吃到食物时,它的长度会增加,并且会在随机位置生成新的食物。
下面是运行图:
请注意,这只是一个简单的贪吃蛇游戏示例,你可以根据自己的需要进行修改和扩展。希望这个教程对你有帮助!