马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 bitb 于 2025-1-6 23:57 编辑
实现一个简单的贪吃蛇游戏需要使用 Python 的 Pygame 库。这里我会给你一个基本的实现框架:
python
- import pygame
- import random
- # 初始化 Pygame
- pygame.init()
- # 定义颜色
- BLACK = (0, 0, 0)
- WHITE = (255, 255, 255)
- RED = (255, 0, 0)
- GREEN = (0, 255, 0)
- # 窗口尺寸
- WIDTH = 800
- HEIGHT = 600
- # 蛇的初始大小和速度
- SNAKE_SIZE = 20
- SNAKE_SPEED = 15
- # 创建窗口
- screen = pygame.display.set_mode((WIDTH, HEIGHT))
- pygame.display.set_caption("贪吃蛇")
- # 蛇的初始位置和方向
- snake = [(WIDTH // 2, HEIGHT // 2)]
- snake_direction = (0, -SNAKE_SIZE)
- # 食物的位置
- food = None
- # 时钟控制游戏速度
- clock = pygame.time.Clock()
- def generate_food():
- return (random.randrange(0, WIDTH, SNAKE_SIZE),
- random.randrange(0, HEIGHT, SNAKE_SIZE))
- def draw_snake(snake):
- for segment in snake:
- pygame.draw.rect(screen, GREEN, (*segment, SNAKE_SIZE, SNAKE_SIZE))
- def draw_food(food):
- pygame.draw.rect(screen, RED, (*food, SNAKE_SIZE, SNAKE_SIZE))
- # 主游戏循环
- running = True
- while running:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- running = False
- elif event.type == pygame.KEYDOWN:
- if event.key == pygame.K_UP and snake_direction[1] == 0:
- snake_direction = (0, -SNAKE_SIZE)
- elif event.key == pygame.K_DOWN and snake_direction[1] == 0:
- snake_direction = (0, SNAKE_SIZE)
- elif event.key == pygame.K_LEFT and snake_direction[0] == 0:
- snake_direction = (-SNAKE_SIZE, 0)
- elif event.key == pygame.K_RIGHT and snake_direction[0] == 0:
- snake_direction = (SNAKE_SIZE, 0)
- # 更新蛇的位置
- new_head = (snake[0][0] + snake_direction[0], snake[0][1] + snake_direction[1])
- snake.insert(0, new_head)
- # 如果没有食物,生成一个
- if food is None:
- food = generate_food()
- # 吃到食物
- if snake[0] == food:
- food = None
- else:
- snake.pop() # 如果没吃到食物,去掉蛇尾
- # 检查蛇是否撞到边界或自己
- if (snake[0][0] < 0 or snake[0][0] >= WIDTH or
- snake[0][1] < 0 or snake[0][1] >= HEIGHT or
- snake[0] in snake[1:]):
- running = False
- # 绘制所有内容
- screen.fill(BLACK)
- draw_snake(snake)
- if food:
- draw_food(food)
- pygame.display.flip()
- clock.tick(SNAKE_SPEED)
- pygame.quit()
复制代码
这是一个基本的贪吃蛇游戏实现:
- 使用 Pygame 创建游戏窗口和控制游戏循环。
- 蛇可以用箭头键控制方向,吃到食物会增长。
- 游戏结束条件是蛇撞到边界或自己。
- 食物的位置是随机生成的。
要运行这个游戏,你需要安装 Pygame:
bash
然后运行这个脚本就可以玩了。请注意,这个版本的游戏还可以进一步优化,比如添加分数系统、增加游戏难度等。
|