温馨提示×

python怎么实现贪吃蛇游戏

小亿
102
2023-08-09 10:43:07
栏目: 编程语言

要实现贪吃蛇游戏,可以使用Python中的pygame库来进行游戏界面的绘制和键盘事件的监听。以下是一个简单的贪吃蛇游戏的示例代码:

import pygame
import random
# 游戏界面的宽度和高度
WIDTH = 800
HEIGHT = 600
# 贪吃蛇每个方块的大小
SIZE = 20
# 贪吃蛇的移动速度
SPEED = 10
# 初始化pygame
pygame.init()
# 创建游戏界面
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("贪吃蛇游戏")
# 定义颜色常量
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
# 贪吃蛇的初始位置
snake_x = 100
snake_y = 100
# 贪吃蛇的初始移动方向
snake_dx = 1
snake_dy = 0
# 贪吃蛇的身体
snake_body = [[snake_x, snake_y]]
# 食物的初始位置
food_x = random.randint(0, WIDTH // SIZE - 1) * SIZE
food_y = random.randint(0, HEIGHT // SIZE - 1) * SIZE
# 游戏循环
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 = -1
elif event.key == pygame.K_DOWN:
snake_dx = 0
snake_dy = 1
elif event.key == pygame.K_LEFT:
snake_dx = -1
snake_dy = 0
elif event.key == pygame.K_RIGHT:
snake_dx = 1
snake_dy = 0
# 更新贪吃蛇的位置
snake_x += snake_dx * SIZE
snake_y += snake_dy * SIZE
# 判断贪吃蛇是否吃到食物
if snake_x == food_x and snake_y == food_y:
# 生成新的食物位置
food_x = random.randint(0, WIDTH // SIZE - 1) * SIZE
food_y = random.randint(0, HEIGHT // SIZE - 1) * SIZE
else:
# 移除贪吃蛇的尾部
snake_body.pop()
# 添加贪吃蛇的头部
snake_body.insert(0, [snake_x, snake_y])
# 绘制游戏界面
screen.fill(BLACK)
# 绘制贪吃蛇的身体
for segment in snake_body:
pygame.draw.rect(screen, WHITE, (segment[0], segment[1], SIZE, SIZE))
# 绘制食物
pygame.draw.rect(screen, RED, (food_x, food_y, SIZE, SIZE))
# 刷新游戏界面
pygame.display.flip()
# 控制游戏帧率
pygame.time.Clock().tick(SPEED)
# 退出游戏
pygame.quit()

这是一个基本的贪吃蛇游戏实现,可以根据需要进行扩展和优化。

0