使用【python】写【贪吃蛇游戏】的代码
时间: 2024-11-22 09:46:30 浏览: 52
使用Python写一个贪吃蛇游戏实例代码
编写一个简单的Python贪吃蛇游戏需要一些基本的游戏元素,如屏幕、蛇的身体、食物、得分等。下面是一个基础版的贪吃蛇游戏的简单代码示例,使用了`pygame`库:
```python
import pygame
import sys
# 初始化Pygame
pygame.init()
# 设置窗口大小和标题
screen_width = 800
screen_height = 600
snake_speed = 5
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("贪吃蛇")
# 蛇的初始位置和身体部分
snake_pos = [screen_width // 2, screen_height // 2]
snake_body = [(snake_pos[0] - 10, snake_pos[1]), (snake_pos[0], snake_pos[1])]
# 食物的位置
food_pos = [random.randrange(1, screen_width - 10), random.randrange(1, screen_height - 10)]
# 游戏主循环
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 移动蛇
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
snake_pos[1] -= snake_speed
elif keys[pygame.K_DOWN]:
snake_pos[1] += snake_speed
elif keys[pygame.K_LEFT]:
snake_pos[0] -= snake_speed
elif keys[pygame.K_RIGHT]:
snake_pos[0] += snake_speed
# 检查边界和碰撞
if snake_pos[0] < 0 or snake_pos[0] >= screen_width or snake_pos[1] < 0 or snake_pos[1] >= screen_height:
print("Game Over!")
pygame.quit()
sys.exit()
if snake_body[0][0] == snake_pos[0] and snake_body[0][1] == snake_pos[1]:
print("You ate the food!")
snake_body.append(snake_pos.copy())
# 更新屏幕
screen.fill((0, 0, 0)) # 清屏黑色
for pos in snake_body:
pygame.draw.rect(screen, (255, 0, 0), pygame.Rect(pos[0], pos[1], 10, 10))
pygame.draw.rect(screen, (0, 255, 0), pygame.Rect(food_pos[0], food_pos[1], 10, 10))
pygame.display.update()
# 将蛇体的最后一部分移动到头部,模拟蛇的生长
snake_body.pop(0)
# 结束游戏
pygame.quit()
```
这个例子只是一个起点,实际游戏中还需要处理蛇吃到食物增长身体、蛇头碰墙结束游戏、以及随机生成食物等功能。要完整实现这个游戏,你需要对上述代码进行扩展。
阅读全文