编写一个贪吃蛇游戏用python
时间: 2023-09-17 14:15:07 浏览: 83
好的,以下是一个简单的贪吃蛇游戏的Python代码:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 定义窗口大小和标题
WIDTH = 500
HEIGHT = 500
TITLE = "Snake Game"
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption(TITLE)
# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 定义蛇的初始状态
snake_x = WIDTH // 2
snake_y = HEIGHT // 2
snake_size = 10
snake_speed = 10
snake_list = [[snake_x, snake_y]]
# 定义食物的初始状态
food_x = random.randint(0, WIDTH - snake_size)
food_y = random.randint(0, HEIGHT - snake_size)
food_size = 10
# 定义游戏主循环
running = True
while running:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 处理蛇的移动
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
snake_x -= snake_speed
elif keys[pygame.K_RIGHT]:
snake_x += snake_speed
elif keys[pygame.K_UP]:
snake_y -= snake_speed
elif keys[pygame.K_DOWN]:
snake_y += snake_speed
# 判断蛇是否撞墙
if snake_x < 0 or snake_x > WIDTH - snake_size or snake_y < 0 or snake_y > HEIGHT - snake_size:
running = False
# 判断蛇是否吃到食物
if snake_x == food_x and snake_y == food_y:
food_x = random.randint(0, WIDTH - snake_size)
food_y = random.randint(0, HEIGHT - snake_size)
snake_list.append([snake_x, snake_y])
# 更新蛇的位置
snake_head = [snake_x, snake_y]
snake_list.insert(0, snake_head)
snake_list.pop()
# 绘制游戏界面
screen.fill(WHITE)
pygame.draw.rect(screen, RED, [food_x, food_y, food_size, food_size])
for i in range(len(snake_list)):
pygame.draw.rect(screen, GREEN, [snake_list[i][0], snake_list[i][1], snake_size, snake_size])
pygame.display.flip()
# 退出pygame
pygame.quit()
```
这个代码使用Pygame库实现了一个简单的贪吃蛇游戏。在游戏中,玩家控制蛇移动,蛇会自动前进,当蛇碰到墙壁或者自己时游戏结束。
蛇可以通过吃食物来增加长度,每当蛇吃到食物时,就会在蛇的尾部增加一个方块。食物的位置是随机生成的。
你可以根据自己的需要修改代码,添加更多的功能和特性,比如增加蛇的速度、添加障碍物等等。
阅读全文