用python做贪吃蛇
时间: 2023-06-17 07:06:02 浏览: 115
100行python代码完成的贪吃蛇游戏,简单方便快捷,下载即可运行,可做毕业设计
好的,让我们来一起用 Python 来实现一个简单的贪吃蛇游戏。
首先,我们需要安装 Pygame 库。可以使用以下命令在命令行中安装:
```
pip install pygame
```
然后,我们可以开始编写代码。以下是一个简单的贪吃蛇游戏示例:
```python
import pygame
import random
# 初始化 Pygame 库
pygame.init()
# 设置游戏窗口大小
WINDOW_WIDTH = 500
WINDOW_HEIGHT = 500
WINDOW_SIZE = (WINDOW_WIDTH, WINDOW_HEIGHT)
# 创建游戏窗口
screen = pygame.display.set_mode(WINDOW_SIZE)
# 设置游戏标题
pygame.display.set_caption("贪吃蛇")
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
# 定义贪吃蛇的大小
BLOCK_SIZE = 20
# 定义贪吃蛇的初始位置和长度
snake = [(WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2)]
snake_length = 1
# 定义贪吃蛇的移动方向
direction = "right"
# 定义食物的位置
food = (random.randint(0, WINDOW_WIDTH // BLOCK_SIZE - 1) * BLOCK_SIZE,
random.randint(0, WINDOW_HEIGHT // BLOCK_SIZE - 1) * BLOCK_SIZE)
# 定义字体
font = pygame.font.Font(None, 36)
# 游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# 处理按键事件
elif 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 == "right":
snake.insert(0, (snake[0][0] + BLOCK_SIZE, snake[0][1]))
elif direction == "left":
snake.insert(0, (snake[0][0] - BLOCK_SIZE, snake[0][1]))
elif direction == "up":
snake.insert(0, (snake[0][0], snake[0][1] - BLOCK_SIZE))
elif direction == "down":
snake.insert(0, (snake[0][0], snake[0][1] + BLOCK_SIZE))
# 判断是否吃到食物
if snake[0] == food:
food = (random.randint(0, WINDOW_WIDTH // BLOCK_SIZE - 1) * BLOCK_SIZE,
random.randint(0, WINDOW_HEIGHT // BLOCK_SIZE - 1) * BLOCK_SIZE)
snake_length += 1
# 判断是否撞墙或撞到自己
if snake[0][0] < 0 or snake[0][0] >= WINDOW_WIDTH or \
snake[0][1] < 0 or snake[0][1] >= WINDOW_HEIGHT or \
snake[0] in snake[1:]:
pygame.quit()
quit()
# 绘制背景
screen.fill(BLACK)
# 绘制贪吃蛇
for block in snake:
pygame.draw.rect(screen, GREEN, (block[0], block[1], BLOCK_SIZE, BLOCK_SIZE))
# 绘制食物
pygame.draw.rect(screen, RED, (food[0], food[1], BLOCK_SIZE, BLOCK_SIZE))
# 显示贪吃蛇的长度
text = font.render("Length: " + str(snake_length), True, WHITE)
screen.blit(text, (10, 10))
# 更新屏幕
pygame.display.update()
# 控制游戏速度
pygame.time.Clock().tick(10)
```
在这个示例中,我们首先导入了 Pygame 库,并初始化了 Pygame 库。然后,我们设置了游戏窗口的大小和标题。接下来,我们定义了一些颜色、贪吃蛇的大小、初始位置和长度、移动方向以及食物的位置。然后,我们创建了一个游戏循环,处理事件、移动贪吃蛇、判断是否吃到食物或撞墙或撞到自己、绘制背景、贪吃蛇和食物等等。
最后,我们使用 Pygame 的 `display.update()` 方法来更新屏幕,使用 `time.Clock().tick(10)` 方法来控制游戏速度。
运行这段代码后,我们就可以在屏幕上看到一个简单的贪吃蛇游戏了。你可以使用方向键来控制贪吃蛇的方向,尝试吃到食物并避免撞墙或撞到自己。
阅读全文