用python完成贪吃蛇游戏代码:
时间: 2024-03-09 21:15:37 浏览: 90
以下是用Python编写的简单贪吃蛇游戏代码:
```python
import pygame
import random
# 游戏窗口大小
window_width = 800
window_height = 600
# 蛇身颜色
snake_color = (0, 255, 0)
# 食物颜色
food_color = (255, 0, 0)
# 初始化pygame
pygame.init()
# 创建游戏窗口
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("贪吃蛇游戏")
# 定义蛇的初始位置和长度
snake_x = window_width // 2
snake_y = window_height // 2
snake_size = 20
snake_speed = 20
snake_body = [[snake_x, snake_y]]
# 定义初始移动方向和速度
direction = "RIGHT"
change_to = direction
# 定义食物的初始位置
food_x = round(random.randrange(0, window_width - snake_size) / 20.0) * 20.0
food_y = round(random.randrange(0, window_height - snake_size) / 20.0) * 20.0
# 游戏循环标志
running = True
# 游戏主循环
while running:
# 填充窗口背景色
window.fill((0, 0, 0))
# 控制游戏退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
change_to = "UP"
elif event.key == pygame.K_DOWN:
change_to = "DOWN"
elif event.key == pygame.K_LEFT:
change_to = "LEFT"
elif event.key == pygame.K_RIGHT:
change_to = "RIGHT"
# 根据移动方向更新蛇的位置
if change_to == "UP":
snake_y -= snake_speed
elif change_to == "DOWN":
snake_y += snake_speed
elif change_to == "LEFT":
snake_x -= snake_speed
elif change_to == "RIGHT":
snake_x += snake_speed
# 更新蛇的身体
snake_body.insert(0, [snake_x, snake_y])
# 判断是否吃到了食物
if snake_x == food_x and snake_y == food_y:
food_x = round(random.randrange(0, window_width - snake_size) / 20.0) * 20.0
food_y = round(random.randrange(0, window_height - snake_size) / 20.0) * 20.0
else:
snake_body.pop()
# 绘制蛇和食物
for body_part in snake_body:
pygame.draw.rect(window, snake_color, pygame.Rect(body_part[0], body_part[1], snake_size, snake_size))
pygame.draw.rect(window, food_color, pygame.Rect(food_x, food_y, snake_size, snake_size))
# 判断游戏结束条件
if snake_x < 0 or snake_x >= window_width or snake_y < 0 or snake_y >= window_height:
running = False
print("游戏结束!")
pygame.display.flip()
# 退出pygame
pygame.quit()
```
这段代码使用Pygame库来创建一个简单的贪吃蛇游戏。游戏窗口的大小为800x600像素,蛇身的颜色为绿色,食物的颜色为红色。
游戏循环中,根据用户按键来改变蛇的移动方向,根据移动方向更新蛇的位置。当蛇吃到食物时,更新食物的位置。如果蛇撞到边界或自己的身体,游戏结束。
注意:上述代码只是一个简单实现,可能还需要进一步完善和优化。
阅读全文
相关推荐


















