用Python写一个贪吃蛇小游戏的程序
时间: 2023-11-30 14:03:09 浏览: 93
好的,我可以为您提供一个简单的贪吃蛇小游戏的Python程序。这个程序使用Pygame库来实现游戏界面和事件处理。
首先,需要安装Pygame库,您可以使用以下命令在命令行中安装:
```
pip install pygame
```
然后,您可以将以下代码复制到您的Python文件中:
```python
import pygame
import random
# 游戏初始化
pygame.init()
# 游戏参数
FPS = 10
WINDOW_WIDTH = 500
WINDOW_HEIGHT = 500
CELL_SIZE = 20
CELL_WIDTH = WINDOW_WIDTH // CELL_SIZE
CELL_HEIGHT = WINDOW_HEIGHT // CELL_SIZE
# 颜色定义
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
# 游戏窗口
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption('贪吃蛇小游戏')
# 定义蛇和食物
snake = [(CELL_WIDTH // 2, CELL_HEIGHT // 2)]
food = (random.randint(0, CELL_WIDTH - 1), random.randint(0, CELL_HEIGHT - 1))
# 定义蛇的移动方向和初始速度
direction = 'right'
speed = 1
# 游戏循环
clock = pygame.time.Clock()
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 and direction != 'right':
direction = 'left'
elif event.key == pygame.K_RIGHT and direction != 'left':
direction = 'right'
elif event.key == pygame.K_UP and direction != 'down':
direction = 'up'
elif event.key == pygame.K_DOWN and direction != 'up':
direction = 'down'
# 移动蛇
if direction == 'right':
head = (snake[0][0] + speed, snake[0][1])
elif direction == 'left':
head = (snake[0][0] - speed, snake[0][1])
elif direction == 'up':
head = (snake[0][0], snake[0][1] - speed)
elif direction == 'down':
head = (snake[0][0], snake[0][1] + speed)
snake.insert(0, head)
# 判断蛇是否吃到食物
if head == food:
food = (random.randint(0, CELL_WIDTH - 1), random.randint(0, CELL_HEIGHT - 1))
else:
snake.pop()
# 判断蛇是否撞墙或撞到自己
if head[0] < 0 or head[0] >= CELL_WIDTH or head[1] < 0 or head[1] >= CELL_HEIGHT:
pygame.quit()
exit()
for i in range(1, len(snake)):
if head == snake[i]:
pygame.quit()
exit()
# 画图
screen.fill(WHITE)
pygame.draw.rect(screen, GREEN, (food[0] * CELL_SIZE, food[1] * CELL_SIZE, CELL_SIZE, CELL_SIZE))
for i in range(len(snake)):
pygame.draw.rect(screen, BLACK, (snake[i][0] * CELL_SIZE, snake[i][1] * CELL_SIZE, CELL_SIZE, CELL_SIZE))
pygame.display.update()
# 控制游戏速度
clock.tick(FPS)
```
这个程序可以创建一个简单的贪吃蛇小游戏,您可以使用方向键来控制蛇的移动方向。在游戏中,蛇会随着时间的推移变长,并且当蛇吃到食物时,蛇的长度会增加。当蛇撞墙或撞到自己时,游戏结束。
希望这个程序可以帮助您入门Python游戏开发。
阅读全文