动蛇及食物的位置都是由坐标数组确定的食物的位置也是随机产生的蛇的移动原理是后一矩形块覆盖前一个矩形块。当一个食物被吃掉的时候要自动随机生成并显示下一个食物的位置。这些都是在设计过程中需要实现的。
23游戏控制分析
游戏中需要通过按键对蛇的移动方位进行控制共需要设置四个方位分别是“东”“西”“南”“北”在按键上用“上”“下”“左”“右”按键与执行部分涉及到监听通过监听指示蛇的运动此外要设置蛇移动是的默认方向为“右”蛇的移动只能是90度偏转不能进行180度偏转。此外还要设置游戏的状态有运行和结束两种状态蛇体变长的时候用静态变量进行加分。
24可行性分析
f贪吃蛇游戏是一种简单的大众的游戏自从进入现代化以来深受广大电脑和手机玩家的喜爱所以做一个简单的贪吃蛇小游戏是有用的。
本次设计我主要运用Java语言来完成。Java语言是一种跨平台适合于分布式计算环境的面向对象编程语言用Java写的应用程序不用修改就可在不同的软硬件平台上运行。
由于Java主要用于网络应用程序开发因此对安全性有较高的要求。如果没有安全保证用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。
第三章总体设计
31系统功能模块层次图
工程中包括4个类分别为S
akeActivity主界面、MyTile游戏界面、NextActivity游戏结束界面和SysApplicatio
类通过不同Activity之间的转换实现不同界面之间的切换。S
akeActivity和NextActivity继承了Activity类MyTile类继承了View类SysApplicatio
类继承了Applicatio
类。S
akeActivity类是这个游戏的入口点MyTile类进行游戏的绘画和对游戏控制操作的处理。Coordi
ateMyHa
dler是2个辅助类是MyTile类中的内部类。其中Coordi
ate是一个点的坐标xyMyHa
dler将MyHa
dler对象绑定某个线程并给它发送消息。如下图
f类图
32运行机制
任何游戏都需要有个引擎来推动游戏的运行在贪吃蛇这个游戏中辅助类MyHa
dler继承自Ha
dler用来把MyHa
dler与当前线程进行绑定从而可以直接给线程发送消息并处理消息。注意一点Ha
dle对消息的处理都是异步。MyHa
dler在Ha
dler的基础上增加sleep接口用来每隔一个时间段后给当前线程发送一个消息。ha
dleMessage方法在接受消息后根据当前的游戏状态重绘界面。update与sleep间接的相互调用就构成了一个循环。由于sleep是个异步函数所以update与sleep之间的相互调用才没有构成死循环。
运行机制如下
f活动图33贪吃蛇功能流程图
ff第四章详细设计与实现41S
akeActivity类
程序的入口程序的界面。
代r