还剩4页未读,继续阅读
文本内容:
概要设计说明书
1. 引言
1.1 编写目的在分析《贪吃蛇游戏的需求分析说明》的基础上,我们对该系统做了概要设计,主要是基于以下目的编写此说明书
1.对系统概要设计的的阶段任务成果形成文档,以便阶段验收、评审,最终的阶段验收
2.对需求阶段的文档再次确认过程,对前一阶段的需求不充分的地方或者有错误的地方进行修改
3.明确整个系统的功能框架和数据结构,为下一阶段的详细设计、编码、测试提供参考依据
4.明确编码规范和命名规范,统一程序界面预期读者详细设计人员、概要设计评审小组、研究院__
1.2背景系统名称贪吃蛇游戏任务提出者手机策划人员__者技术人员用户NOKIA手机用户运行该软件机器NOKIA手机
1.3定义
1.节一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节节是蛇身上最小的单位
2.链表用来保存每一段的状态,链表的元素单位是节且链表的第一个元素表示蛇的头部
3.坐标系以左上角那点为
(00),向右则x递增,向下则y递增
1.4参考资料张海藩《软件工程导论》第五版清华大学出版社肖刚等《实用软件文档写作》2 总体设计
2.1 需求规定输入、输出输入操作选择、级别输出时间、分数功能要求本设计所__的是基于J__a的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为游戏主界面模块、游戏控制模块两个模块性能要求本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点游戏主界面应该力求美观,赏心悦目游戏控制模块应做到易懂、易操作,而且准确率高,不易出错
2.2 运行环境本次设计的系统环境及工具运行环境WindowsXP编程语言J__a使用工具Eclipse
2.3基本设计概念和处理流程基本设计概念如下程序关键在于表示蛇的图形及蛇的__用一个小矩形快表示蛇的一节身体,身体每长一节,在身体最后增加一个矩形块__时必须从蛇头开始,所以蛇不能向相反的方向__,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向__,一步__一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头__,图形的实现是从蛇头新位置开始画出蛇,长度为保存蛇每个节点信息的链表的长度食物的出现是先确定一组随机数,再填充方格,食物的消失是由于使用了清屏函数,当吃掉食物后就不再重画本次食物,而是生成一组新的随机数,画新的食物当蛇头的位置坐标和石头的坐标或者自己身体的某个节点的坐标相同时,蛇就死掉了,游戏结束处理流程如下������开始�显示游戏主界面和操作控制界面�用户的各种操作指令�执行相应的判断处理�执行相应的操作�判断蛇的状态�是�否�Life=true结束Life=false�
2.4 结构
1.Ground类1privateintTYPE;2publicint[][]rocks=newint[Global.WIDTH][Global.HEIGHT];3publicvoidsetGroundinttype{}4publicbooleanisSnakeEatRockSnakesnake{}5publicPointgetPoint{}6publicvoiddrawMeGraphicsg{}7功能根据不同的布局类型画出不同的石头布局
2.Snake类1publicstaticintxy;2privateintoldDirectionnewDirection;3privatePointoldTail;4publicLinkedListPointbody=newLinkedListPoint;5publicvoid___{}6publicvoidmove{}7publicvoidchangeDirectionintdirection{}8publicvoiddrawMeGraphicsg{}//把属于蛇的格子画出来9privateclassSnakeDriverimplementsRunnable{}//蛇不停走动10功能根据有效方向键改变坐标值,实现蛇的定时__
3.Food类1publicvoiddrawMeGraphicsg{}2功能根据生成的随机数画出食物
4.Controller类功能处理按键时间,处理逻辑根据不同的情况向Snake,Food,Ground发出不同的命令
5.GamePanel类功能画出Snake,Food,Ground,并实现重新显示
2.5 功能需求与程序的关系
1.游戏界面主框架主要包括游戏图形主界面、开始界面1游戏图形主界面主要包括食物的随机位置、石头的布局、蛇的__位置2开始界面包括开始、继续、暂停、历史最高分、游戏说明、退出等按钮
2.与程序的关系1开始界面StartPanel画出开始、继续、暂停、历史最高分、游戏说明、退出等按钮2游戏图形主界面GamePanel画出Snake,Ground,Food用户在StartPanel选择按钮或者按下快捷键,Controller类判断逻辑或响应__,向Snake,Ground,Food发出命令,分别执行,最后由GamePanel实现刷新并显示
2.6 人工处理过程由用户选择游戏控制类别开始、暂停、继续、历史最高分、游戏说明、退出,或者选择有效方向键
2.7尚未解决的问题没有实现画出一个限时食物,蛇要在倒计时内吃到食物,否则倒计时结束,食物消失3 接口设计
3.1 内部接口SnakeListener VoidSankeMoved(Snake);4 运行设计
4.1 运行模块组合
1.在控制面板选择NewGame,Cotroller类响应__,发命令给Snake类开启一个线程,及GamePanel类重画Snake,Food,Ground
2.选择Pause,Controller类发命令给Snake类暂停__,GamePanel类暂停刷屏,Time类停止计时,S__eGame类保存当前Food、Ground等级、Snake每个节点的位置
3.选择Resume,从文件中读取Food、Ground等级、Snake每个节点的位置Time类开始计时,GamePanel类开始刷屏,重画Snake,Food,Ground,Snake类开始蛇的定时__
4.选择HighScore,Cotroller类响应__,发命令给highScore类从文件中读取保存的信息,并显示
5.选择LowLevel、HighlevelCotroller类发命令给Ground类,设置石头的信息
6.选择Description,Cotroller类响应按钮____
7.选择Exit,Cotroller类响应按钮____
8.当蛇死掉时,Cotroller发命令给Snake类使蛇___highScore类保存当前分数,和历史分数比较选取最高的六次,并排序
4.2 运行控制由用户选择游戏控制类别开始、暂停、继续、历史最高分、游戏说明、退出,或者选择有效方向键尚未暂停不能选择继续历史最高分、游戏说明任何时候都可以选择,游戏没结束时不能选择退出,可以暂停,下次再运行时可以选择新游戏或者继续
4.3运行时间该游戏软件运行时,Snake、Food、Ground三个对象一致同时存在,直到戏结束其中蛇__方法__占用资源,改变方向、吃到食物及石头都是瞬发动作,只是瞬间占用系统资源5 系统出错处理设计
5.1 出错信息及补救措施可能的出错或故障情况系统输出信息的形式、含意处理方法按钮连续选择两次蛇的速度加快或是抛出异常每个按钮在选择后设为灰显游戏在进行时选择新游戏蛇的速度加快在游戏开始后newGame按钮变灰显。