贪吃蛇小游戏python 代码
时间: 2023-08-01 10:09:24 浏览: 172
当然可以!以下是一个简单的贪吃蛇小游戏的 Python 代码示例:
```python
import pygame
import random
# 初始化游戏
pygame.init()
# 定义游戏界面大小、背景颜色和标题
width, height = 640, 480
bg_color = (0, 0, 0)
title = "贪吃蛇小游戏"
score = 0
# 定义蛇的初始位置和移动速度
snake_x, snake_y = 320, 240
snake_speed = 10
snake_body = [[snake_x, snake_y], [snake_x - 10, snake_y], [snake_x - 20, snake_y]]
# 定义食物的初始位置
food_x, food_y = random.randint(1, 63) * 10, random.randint(1, 47) * 10
# 创建游戏窗口
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption(title)
# 游戏主循环
running = True
clock = pygame.time.Clock()
while running:
clock.tick(20)
screen.fill(bg_color)
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 键盘控制蛇的移动方向
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
snake_y -= snake_speed
if keys[pygame.K_DOWN]:
snake_y += snake_speed
if keys[pygame.K_LEFT]:
snake_x -= snake_speed
if keys[pygame.K_RIGHT]:
snake_x += snake_speed
# 更新蛇的身体
snake_body.insert(0, [snake_x, snake_y])
if snake_x == food_x and snake_y == food_y:
score += 10
food_x, food_y = random.randint(1, 63) * 10, random.randint(1, 47) * 10
else:
snake_body.pop()
# 判断游戏结束条件
if snake_x < 0 or snake_x >= width or snake_y < 0 or snake_y >= height or [snake_x, snake_y] in snake_body[1:]:
running = False
# 绘制蛇和食物
for x, y in snake_body:
pygame.draw.rect(screen, (255, 255, 255), (x, y, 10, 10))
pygame.draw.rect(screen, (255, 0, 0), (food_x, food_y, 10, 10))
# 显示分数
font = pygame.font.SysFont(None, 24)
score_text = font.render("Score: " + str(score), True, (255, 255, 255))
screen.blit(score_text, (10, 10))
# 更新屏幕显示
pygame.display.update()
# 游戏结束,退出游戏
pygame.quit()
```
这是一个基本的贪吃蛇小游戏,使用 Pygame 库实现。你可以将以上代码保存为一个 Python 文件,然后运行它来开始游戏。希望对你有帮助!如果你有其他问题,请随时提问。
阅读全文