Python实现简单的贪吃蛇游戏
在这篇文章中,我们将使用Python编程语言来实现一个简单的贪吃蛇游戏,贪吃蛇是一款经典的电子游戏,玩家需要控制一条蛇在屏幕上移动,吃到食物后身体会变长,同时要避免撞到自己的身体或者屏幕边缘,游戏的目标是让蛇尽可能地变长,直到无法继续增长为止。
我们需要安装pygame库,这是一个用于开发视频游戏的Python库,在命令行中输入以下命令进行安装:
pip install pygame
接下来,我们编写贪吃蛇游戏的代码:
import pygame
import sys
import random
初始化pygame
pygame.init()
设置屏幕大小和标题
screen_width = 640
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("贪吃蛇")
定义颜色
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (0, 255, 0)
定义蛇和食物的大小
snake_size = 20
food_size = 20
定义蛇的初始位置和速度
snake_pos = [[100, 100], [80, 100], [60, 100]]
snake_speed = [20, 0]
定义食物的初始位置
food_pos = [300, 300]
游戏主循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and snake_speed[1] == 0:
snake_speed = [0, -20]
elif event.key == pygame.K_DOWN and snake_speed[1] == 0:
snake_speed = [0, 20]
elif event.key == pygame.K_LEFT and snake_speed[0] == 0:
snake_speed = [-20, 0]
elif event.key == pygame.K_RIGHT and snake_speed[0] == 0:
snake_speed = [20, 0]
# 更新蛇的位置
snake_pos.insert(0, list(map(sum, zip(snake_pos[0], snake_speed))))
if snake_pos[0][0] < 0 or snake_pos[0][0] >= screen_width or snake_pos[0][1] < 0 or snake_pos[0][1] >= screen_height:
pygame.quit()
sys.exit()
for block in snake_pos[1:]:
if block == snake_pos[0]:
pygame.quit()
sys.exit()
# 检查蛇是否吃到食物
if snake_pos[0] == food_pos:
food_pos = [random.randrange(1, screen_width // food_size) * food_size, random.randrange(1, screen_height // food_size) * food_size]
else:
snake_pos.pop()
# 绘制游戏画面
screen.fill(black)
for pos in snake_pos:
pygame.draw.rect(screen, green, pygame.Rect(pos[0], pos[1], snake_size, snake_size))
pygame.draw.rect(screen, red, pygame.Rect(food_pos[0], food_pos[1], food_size, food_size))
pygame.display.flip()
# 控制游戏速度
pygame.time.Clock().tick(10)
将以上代码保存为snake.py文件,然后在命令行中运行:python snake.py,即可开始游戏,使用方向键控制蛇的移动,吃到食物后蛇会变长,当蛇撞到屏幕边缘或者自己的身体时,游戏结束。



还没有评论,来说两句吧...