编写一个贪吃蛇小游戏的代码
时间: 2023-09-09 11:08:23 浏览: 64
好的,这里给出一个简单的贪吃蛇小游戏的代码,使用Python语言和Pygame库。
```python
import pygame
import random
# 初始化游戏
pygame.init()
# 游戏窗口大小
WINDOW_WIDTH = 400
WINDOW_HEIGHT = 400
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
# 创建游戏窗口
WINDOW = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("贪吃蛇")
# 蛇的初始位置和大小
SNAKE = [(100, 100), (90, 100), (80, 100)]
SNAKE_SIZE = 10
# 食物的初始位置和大小
FOOD = (random.randint(0, WINDOW_WIDTH // 10) * 10, random.randint(0, WINDOW_HEIGHT // 10) * 10)
FOOD_SIZE = 10
# 蛇的移动方向
DIRECTION = "RIGHT"
# 游戏循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 处理键盘事件
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
DIRECTION = "LEFT"
elif event.key == pygame.K_RIGHT:
DIRECTION = "RIGHT"
elif event.key == pygame.K_UP:
DIRECTION = "UP"
elif event.key == pygame.K_DOWN:
DIRECTION = "DOWN"
# 移动蛇的头部
if DIRECTION == "LEFT":
SNAKE_HEAD = (SNAKE[0][0] - SNAKE_SIZE, SNAKE[0][1])
elif DIRECTION == "RIGHT":
SNAKE_HEAD = (SNAKE[0][0] + SNAKE_SIZE, SNAKE[0][1])
elif DIRECTION == "UP":
SNAKE_HEAD = (SNAKE[0][0], SNAKE[0][1] - SNAKE_SIZE)
elif DIRECTION == "DOWN":
SNAKE_HEAD = (SNAKE[0][0], SNAKE[0][1] + SNAKE_SIZE)
# 将蛇的头部添加到蛇的列表中
SNAKE.insert(0, SNAKE_HEAD)
# 判断是否吃到食物
if SNAKE_HEAD == FOOD:
FOOD = (random.randint(0, WINDOW_WIDTH // 10) * 10, random.randint(0, WINDOW_HEIGHT // 10) * 10)
else:
SNAKE.pop()
# 绘制游戏窗口
WINDOW.fill(BLACK)
# 绘制食物
pygame.draw.rect(WINDOW, RED, (FOOD[0], FOOD[1], FOOD_SIZE, FOOD_SIZE))
# 绘制蛇
for pos in SNAKE:
pygame.draw.rect(WINDOW, WHITE, (pos[0], pos[1], SNAKE_SIZE, SNAKE_SIZE))
# 更新游戏窗口
pygame.display.update()
# 判断游戏是否结束
if SNAKE[0][0] < 0 or SNAKE[0][0] >= WINDOW_WIDTH or SNAKE[0][1] < 0 or SNAKE[0][1] >= WINDOW_HEIGHT:
pygame.quit()
exit()
for pos in SNAKE[1:]:
if SNAKE[0] == pos:
pygame.quit()
exit()
```
这段代码实现了一个简单的贪吃蛇小游戏,玩家可以使用键盘控制蛇的移动方向,吃到食物会增加蛇的长度,撞到墙或者蛇的身体会游戏结束。你可以根据自己的需求进行修改和完善。
阅读全文