1 项目介绍
1.1 简介
键盘上下左右控制蛇的前进方向,每吃到一个食物,蛇的长度增加一个单位,并生成一个新的食物,得分scores加一;当蛇撞到边界或自己时,游戏结束。时间time随蛇的步子增加,每走一步time加一。游戏结束后,按下空格键重新开始游戏,按下回车键结束游戏,退出。全程有音乐,退出后音乐也停止。
1.2 开发环境
开发语言:Python,pyCharm,pygame
2 方案
2.1 模块
pygame
sys
random
pyglet
2.2 数据
蛇类和食物类
初始化窗口为600*600
像素块为25*25
蛇和食物都是正方形的结点
2.3 接口
蛇的身体设置为列表,初始化蛇有5节身体,依次递增
食物为小正方形,随机生成,一次一个
字体显示为函数控制
2.4 类
蛇类:初始化了各种有关蛇的属性。一开始初始化方向为向右,初始化蛇身为长度为五的列表。接着在蛇头处添加结点。再删除最后一个结点,判断是否死亡
食物类:初始化食物小方块,随机设置食物位置,如果蛇吃到了食物,则抹掉了该食物,重新设置食物
字体:设置字体,并且可以在窗口中显示
2.5 流程
先绘制窗口,设置窗口名字为“Snake Game”,设置时钟
初始化分数scores和time为0,是否死亡属性为false
初始化蛇类与食物类
当正常运行时,如果检测到键盘上下左右输入了,则改变蛇前进方向
如果碰到四周或者自己的身体,则死亡
死亡后如果按空格键,则重新开始
如果按回车键,则结束进程,游戏结束
3 关键技术
3.1 蛇身设为一个列表
self.body = []
for x in range(5):
self.addnode()
参考文档和完整的文档和源码下载地址: