python贪吃蛇代码
时间: 2023-07-03 12:24:14 浏览: 60
以下是一个简单的 Python 贪吃蛇游戏的代码示例:
```python
import pygame
import random
# 初始化 Pygame
pygame.init()
# 定义窗口大小和颜色
window_width = 800
window_height = 600
window_color = (255, 255, 255)
# 创建游戏窗口
game_window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption('Python 贪吃蛇')
# 定义贪吃蛇和食物的大小
snake_size = 10
food_size = 10
# 定义贪吃蛇的初始位置和速度
snake_position = [100, 50]
snake_speed = [10, 0]
# 定义初始分数和字体
score = 0
font = pygame.font.SysFont(None, 30)
# 定义随机生成食物的函数
def generate_food():
food_position = [random.randrange(1, (window_width // 10)) * 10,
random.randrange(1, (window_height // 10)) * 10]
return food_position
# 定义绘制贪吃蛇和食物的函数
def draw_snake(snake_size, snake_position):
for position in snake_position:
pygame.draw.rect(game_window, (0, 255, 0), [position[0], position[1], snake_size, snake_size])
def draw_food(food_size, food_position):
pygame.draw.rect(game_window, (255, 0, 0), [food_position[0], food_position[1], food_size, food_size])
# 游戏循环
game_over = False
clock = pygame.time.Clock()
food_position = generate_food()
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
# 监听键盘事件
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
snake_speed = [-10, 0]
elif event.key == pygame.K_RIGHT:
snake_speed = [10, 0]
elif event.key == pygame.K_UP:
snake_speed = [0, -10]
elif event.key == pygame.K_DOWN:
snake_speed = [0, 10]
# 移动贪吃蛇
snake_position[0] += snake_speed[0]
snake_position[1] += snake_speed[1]
# 判断贪吃蛇是否吃到食物
if snake_position[0] == food_position[0] and snake_position[1] == food_position[1]:
food_position = generate_food()
score += 10
# 绘制游戏界面
game_window.fill(window_color)
draw_snake(snake_size, [snake_position])
draw_food(food_size, food_position)
# 绘制分数
score_font = font.render('分数:' + str(score), True, (0, 0, 0))
game_window.blit(score_font, (10, 10))
# 判断贪吃蛇是否撞墙
if snake_position[0] < 0 or snake_position[0] > window_width - snake_size or snake_position[1] < 0 or snake_position[1] > window_height - snake_size:
game_over = True
pygame.display.update()
clock.tick(15)
# 退出 Pygame
pygame.quit()
quit()
```
这个示例代码实现了一个简单的贪吃蛇游戏,并且包含了移动贪吃蛇、生成食物、得分计算、游戏结束等基本功能。你可以根据自己的需求对其进行修改和完善。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)