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
,即可开始游戏,使用方向键控制蛇的移动,吃到食物后蛇会变长,当蛇撞到屏幕边缘或者自己的身体时,游戏结束。
还没有评论,来说两句吧...