全球旧事资料 分类
设计总体流程图
f载入游戏并初始化
游戏菜单

蛇帮

颜助





选择哪个级别
选择颜色
白蓝黄
1
2
3色色色
级级级
判断是否开始是
蛇开始移动
根据键盘控制蛇移动方向
蛇头和食物坐标是否重合
是随机生成下一个食物
蛇头是否撞墙以及头尾是否相接
是游戏结束
否退出
否否
f34设计的具体实现1)、蛇块类
把蛇分成一块一块,一个蛇相当于有若干个块,蛇块类就是用来描述每块的信息。
a、蛇块类的私有变量:privateColor_color颜色privatei
t_size大小privatePoi
t_poi
t坐标
b、构造函数:publics
akeBlockColorcolori
tsizePoi
tp
c、获取记录蛇块的坐标:publicPoi
tPoi
t属性d、Pai
t函数:publicvirtualvoidPai
tGraphicsgPai
t函数根据坐标以及蛇块大小计算出实际绘图的坐标,进行绘图,蛇块是一个正方形(矩形),我们用矩形绘制,在代码中我们看到,绘制的大小比size小1个像素,这么做的原因是为了突出蛇块与蛇块之间的间隙,也就是说蛇块与蛇块之间有1个像素的间隙,这就是我们看到游戏效果图中的蛇块是一段一段的原因。2)、画蛇类画蛇类是真个游戏的核心处理类,里面定义了画布的大小,背景色,蛇块列表以及游戏速度,移动方向等属性另外还提供了timer计时器,用于定时更新蛇块坐标位置,以及如何在画面上画图的函数。
a、Start函数用于开始游戏,这个函数的内部其实就是设定食物,以及触发计时器。这里面定义了计时器的事件触发间隔,是通过level然后找到speed数组里的对应毫秒值设定的。然后触发事件是O
BlockTimedEve
t,最后是启动计时器开始计时。代码如下:
publicvoidStartthis_foodGetFood生成一个食物timerBlock
ewSystemTimersTimer_speedthis_leveltimerBlockElapsed
ew
SystemTimersElapsedEve
tHa
dlerO
BlockTimedEve
ttimerBlockAutoResettruetimerBlockStart
b、O
BlockTimedEve
t函数是计时器的执行函数,这个函数用于更新蛇块信息列表,以及检测游戏是否结束,函数内部调用了两个函数,一个是Move函数,一个是CheckDead函数。代码如下:
privatevoidO
BlockTimedEve
tobjectsourceElapsedEve
tArgse定时更新
f
thisMoveifthisCheckDead
thistimerBlockStop停止引发事件thistimerBlockDispose释放资源i
tscorethis_blocksCou
t15SystemWi
dowsFormsMessageBoxShow
好听全球资料 返回顶部