用python帮我写一个贪吃蛇
时间: 2024-01-07 22:05:42 浏览: 78
如何用Python写一个贪吃蛇AI.docx
当然可以!以下是一个简单的贪吃蛇游戏的Python代码:
```python
import pygame
import random
# 游戏初始化
pygame.init()
# 游戏窗口大小
window_width = 800
window_height = 600
# 颜色定义
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
# 创建游戏窗口
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption('贪吃蛇')
# 游戏时钟
clock = pygame.time.Clock()
# 蛇的初始位置及方向
snake_head = [250, 250]
snake_body = [[250, 250], [240, 250], [230, 250]]
snake_direction = "RIGHT"
# 食物初始位置
food_position = [random.randrange(1, (window_width // 10)) * 10,
random.randrange(1, (window_height // 10)) * 10]
# 游戏结束标志
game_over = False
# 游戏主循环
while not game_over:
# 获取事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
# 监听方向键按下事件
if 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"
# 移动蛇的身体
if snake_direction == "RIGHT":
snake_head[0] += 10
elif snake_direction == "LEFT":
snake_head[0] -= 10
elif snake_direction == "UP":
snake_head[1] -= 10
elif snake_direction == "DOWN":
snake_head[1] += 10
# 判断蛇是否吃到食物
if snake_head == food_position:
food_position = [random.randrange(1, (window_width // 10)) * 10,
random.randrange(1, (window_height // 10)) * 10]
else:
snake_body.pop()
# 更新蛇的身体
snake_body.insert(0, list(snake_head))
# 判断游戏是否结束
if snake_head[0] < 0 or snake_head[0] >= window_width or snake_head[1] < 0 or snake_head[1] >= window_height:
game_over = True
if snake_head in snake_body[1:]:
game_over = True
# 绘制游戏窗口
window.fill(black)
for position in snake_body:
pygame.draw.rect(window, white, pygame.Rect(
position[0], position[1], 10, 10))
pygame.draw.rect(window, red, pygame.Rect(
food_position[0], food_position[1], 10, 10))
pygame.display.update()
# 控制游戏帧数
clock.tick(15)
# 游戏结束,退出程序
pygame.quit()
```
这段代码使用了Pygame库来创建游戏窗口、处理用户输入和绘制游戏界面。贪吃蛇的身体由一个列表表示,每个元素都是蛇的一个身体部分的坐标。游戏通过控制蛇头的移动和蛇身的更新来实现游戏逻辑。当蛇头与食物位置重合时,食物被吃掉,并随机生成新的食物位置。游戏在蛇头碰到边界或碰到自己身体时结束,游戏窗口被关闭。
你可以在Python环境中运行这段代码,就可以玩到贪吃蛇游戏了!希望对你有帮助!
阅读全文