用python写一个贪吃蛇小游戏的代码,我自己可以玩的那种
时间: 2023-03-22 12:00:21 浏览: 93
好的,以下是一个简单的贪吃蛇小游戏的 Python 代码。这个游戏使用 Pygame 模块来实现游戏画面的绘制。
```python
import pygame
import random
# 初始化 Pygame
pygame.init()
# 设置游戏窗口尺寸
WINDOW_WIDTH = 640
WINDOW_HEIGHT = 480
WINDOW_SIZE = (WINDOW_WIDTH, WINDOW_HEIGHT)
# 创建游戏窗口
screen = pygame.display.set_mode(WINDOW_SIZE)
# 设置游戏标题
pygame.display.set_caption('Snake Game')
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
# 定义游戏参数
CELL_SIZE = 20
SPEED = 5
# 定义蛇的初始位置和大小
snake_x = 100
snake_y = 100
snake_length = 3
# 定义蛇的初始移动方向
direction = 'right'
# 定义食物的初始位置
food_x = random.randrange(0, WINDOW_WIDTH, CELL_SIZE)
food_y = random.randrange(0, WINDOW_HEIGHT, CELL_SIZE)
# 定义计分板
score = 0
font = pygame.font.SysFont(None, 30)
# 定义游戏结束的函数
def game_over():
game_over_font = pygame.font.SysFont(None, 80)
game_over_text = game_over_font.render('Game Over', True, RED)
screen.blit(game_over_text, (WINDOW_WIDTH / 2 - game_over_text.get_width() / 2, WINDOW_HEIGHT / 2 - game_over_text.get_height() / 2))
pygame.display.update()
pygame.time.wait(2000)
pygame.quit()
quit()
# 定义游戏主循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# 处理按键事件
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_x -= CELL_SIZE
elif direction == 'right':
snake_x += CELL_SIZE
elif direction == 'up':
snake_y -= CELL_SIZE
elif direction == 'down':
snake_y += CELL_SIZE
# 检查蛇是否碰到边界
if snake_x < 0 or snake_x >= WINDOW_WIDTH or snake_y < 0 or snake_y >= WINDOW_HEIGHT:
game_over()
# 检查蛇是否碰到自己
snake_head = [snake_x, snake_y]
snake_body = [[snake_x, snake_y]]
for i in range(snake_length - 1):
snake_body.append([snake_x - CELL_SIZE * (i + 1), snake_y])
if snake_head in snake_body[1:]:
game_over()
# 检查蛇是否
阅读全文
相关推荐









