用python写一个贪吃蛇小游戏,贪吃蛇游戏想必大家都知道它的游戏规则,不过我这里还是要介绍一下的:玩家控制一条小蛇,通过去吃地图上的食物变长,小蛇不能碰到四周的墙体,不能咬到自己的身体部分,不停的吃出现在地图上的食物,并且达到充满整个地图则胜利
1.引言
Python引入pygame模块设计贪吃蛇小游戏,通过编写这个小游戏学会pygame模块的使用
2. 系统结构。
全局变量
(1)定义游戏帧数
(2)定义窗口长宽
(3)定义颜色变量
(4)定义上下左右控制键
(5)定义蛇头的索引
主函数
(1)通过pygame的初始化
(2)获得pygame的帧数时钟
(3)窗口设置
(4)基本字形设置
(5)获得窗口的标题
(6)加载音乐
(7)展示游戏开始画面
(8)运行游戏
(9)播放背景音乐
(10)游戏结束运行游戏函数用了pygame的事件处理模块event游戏开始函数游戏重新开始函数展示游戏开始界面的函数调用了pygame的字体模块font退出游戏的函数Pygame的退出quit随机产生食物的函数用了python的random模块以下几个函数都用了pygame的绘图模块draw显示游戏结束画面的函数得分的函数蛇的函数食物的函数游戏窗口背景下的栅格线函数
3. 实现代码
import random, pygame, sys
from pygame.locals import *
定义游戏帧数
FPS = 20
定义窗口长宽
WINDOWWIDTH = 800
WINDOWHEIGHT = 600
CELLSIZE = 20
assert WINDOWWIDTH % CELLSIZE == 0, "窗口宽度必须是单元格大小的倍数。"
assert WINDOWHEIGHT % CELLSIZE == 0, "窗口高度必须是单元格大小的倍数"
CELLWIDTH = int(WINDOWWIDTH / CELLSIZE)
CELLHEIGHT = int(WINDOWHEIGHT / CELLSIZE)
定义颜色变量
R G B
WHITE = (255, 255, 255)
BLACK = ( 0, 0, 0)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
DARKGREEN = ( 0, 155, 0)
DARKGRAY = ( 40, 40, 40)
BGCOLOR = BLACK
定义上下左右控制键
UP = 'up'
DOWN = 'down'
LEFT = 'left'
RIGHT = 'right'
定义蛇头的索引
HEAD = 0
def main():
global FPSCLOCK, DISPLAYSURF, BASICFONT
通过pygame的初始化
pygame.init()
获得pygame的帧数时钟
FPSCLOCK = pygame.time.Clock()
窗口设置
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)