生成一个贪吃蛇的简单代码
时间: 2024-05-06 22:15:32 浏览: 9
以下是一个简单的贪吃蛇代码,使用Python实现:
```python
import pygame
import random
# 初始化游戏
pygame.init()
# 定义游戏界面大小、背景颜色和帧率
width, height = 640, 480
bg_color = (255, 255, 255)
fps = 10
# 创建游戏界面
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("贪吃蛇")
# 定义蛇的初始位置和大小
snake_size = 20
snake_x, snake_y = width // 2, height // 2
snake_body = [(snake_x, snake_y), (snake_x - snake_size, snake_y), (snake_x - 2 * snake_size, snake_y)]
# 定义食物的初始位置和大小
food_size = 20
food_x, food_y = random.randint(0, (width - food_size) // food_size) * food_size, \
random.randint(0, (height - food_size) // food_size) * food_size
# 定义蛇移动的方向
direction = "right"
# 游戏循环
while True:
# 监听游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 获取用户的键盘输入
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
direction = "up"
elif keys[pygame.K_DOWN]:
direction = "down"
elif keys[pygame.K_LEFT]:
direction = "left"
elif keys[pygame.K_RIGHT]:
direction = "right"
# 根据蛇的移动方向更新蛇的位置
if direction == "up":
snake_y -= snake_size
elif direction == "down":
snake_y += snake_size
elif direction == "left":
snake_x -= snake_size
elif direction == "right":
snake_x += snake_size
# 更新蛇的身体
snake_body.insert(0, (snake_x, snake_y))
if snake_x == food_x and snake_y == food_y:
food_x, food_y = random.randint(0, (width - food_size) // food_size) * food_size, \
random.randint(0, (height - food_size) // food_size) * food_size
else:
snake_body.pop(-1)
# 绘制游戏界面
screen.fill(bg_color)
pygame.draw.rect(screen, (255, 0, 0), (food_x, food_y, food_size, food_size))
for x, y in snake_body:
pygame.draw.rect(screen, (0, 255, 0), (x, y, snake_size, snake_size))
pygame.display.update()
# 控制游戏帧率
pygame.time.Clock().tick(fps)
```
这个代码使用了Pygame库,可以直接执行并且在窗口中显示贪吃蛇游戏。