




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概要设计说明书1.引言1.1编写目的在分析贪吃蛇游戏的需求分析说明的基础上,我们对该系统做了概要设计,主要是基于以下目的编写此说明书:1.对系统概要设计的的阶段任务成果形成文档,以便阶段验收、评审,最终的阶段验收。2.对需求阶段的文档再次确认过程,对前一阶段的需求不充分的地方或者有错误的地方进行修改。3.明确整个系统的功能框架和数据结构,为下一阶段的详细设计、编码、测试提供参考依据。4.明确编码规范和命名规范,统一程序界面。预期读者:详细设计人员、概要设计评审小组、研究院领导。1.2 背景系统名称:贪吃蛇游戏任务提出者:手机策划人员开发者:技术人员用户:NOKIA手机用户运行该软件机器:NOKIA手机1.3 定义1. 节:一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。2. 链表:用来保存每一段的状态,链表的元素单位是节。且链表的第一个元素表示蛇的头部。3. 坐标系:以左上角那点为(0,0),向右则x递增,向下则y递增。1.4 参考资料张海藩:软件工程导论第五版 清华大学出版社肖刚等:实用软件文档写作2总体设计2.1需求规定2.1.1输入、输出输入:操作选择、级别输出:时间、分数2.1.2 功能要求本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出等功能,分为:游戏主界面模块、游戏控制模块两个模块。2.1.3 性能要求本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。2.2运行环境本次设计的系统环境及工具:运行环境:WindowsXP编程语言:Java使用工具:Eclipse2.3 基本设计概念和处理流程2.3.1基本设计概念如下:程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,在身体最后增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,长度为保存蛇每个节点信息的链表的长度。食物的出现是先确定一组随机数,再填充方格,食物的消失是由于使用了清屏函数,当吃掉食物后就不再重画本次食物,而是生成一组新的随机数,画新的食物。当蛇头的位置坐标和石头的坐标或者自己身体的某个节点的坐标相同时,蛇就死掉了,游戏结束。2.3.2处理流程如下:2.4结构1. Ground类:1) private int TYPE;2) public int rocks=new intGlobal.WIDTHGlobal.HEIGHT;3) public void setGround(int type)4) public boolean isSnakeEatRock(Snake snake)5) public Point getPoint()6) public void drawMe(Graphics g)7) 功能:根据不同的布局类型画出不同的石头布局2. Snake类:1) public static int x,y;2) private int oldDirection,newDirection;3) private Point oldTail;4) public LinkedList body=new LinkedList();5) public void die()6) public void move()7) public void changeDirection(int direction)8) public void drawMe(Graphics g)/把属于蛇的格子画出来9) private class SnakeDriver implements Runnable/蛇不停走动10) 功能:根据有效方向键改变坐标值,实现蛇的定时移动3. Food类:1) public void drawMe(Graphics g)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: Void SankeMoved(Snake);4运行设计4.1运行模块组合1. 在控制面板选择NewGame,Cotroller类响应事件,发命令给Snake类开启一个线程,及GamePanel类重画Snake,Food,Ground。2. 选择Pause,Controller类发命令给Snake类暂停移动,GamePanel类暂停刷屏,Time类停止计时,SaveGame类保存当前Food、Ground等级、Snake每个节点的位置。3. 选择Resume,从文件中读取Food、Ground等级、Snake每个节点的位置。Time类开始计时,GamePanel类开始刷屏,重画Snake,Food,Ground,Snake类开始蛇的定时移动。4. 选择HighScore,Cotroller类响应事件,发命令给highScore类从文件中读取保存的信息,并显示。5. 选择LowLevel、Highlevel,Cotroller类发命令给Ground类,设置石头的信息。6. 选择Description,Cotroller类响应按钮点击事件。7. 选择Exit,Cotroller类响应按钮点击事件。8. 当蛇死掉时,Cotroller发命令给Snake类使蛇die(),highScore类保存当前分数,和历史分数比较。选取最高的六次,并排序。4.2运行控制 由用户选择游戏控制类别:开始、暂停、继续、历史最高分、游戏说明、退出,或者选择有效方向键。尚未暂停不能选择继续。历史最高分、游戏说明任何时候都可以选择,游戏没结束时不能选择退出,可以暂停,下次再运行时可以选择新游戏或者继续。4.3 运行时间该游戏软件运行时,Snake、Food、Ground三个对象一致同时存在,直到戏结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动公司新年营销方案(3篇)
- 银行年度营销方案(3篇)
- 初中生安全知识培训课件
- 内训师培训课件
- 内蒙古风景名胜介绍
- 化学品安全知识培训
- 先正达杀毒矾课件
- 化学品安全员培训课件
- 创城助力课件
- 23《得道多助失道寡助》公开课一等奖创新教学设计 统编版语文八年级上册
- 质量信得过班组培训课件
- DL∕T 1768-2017 旋转电机预防性试验规程
- 农户化肥购买合同书
- 穴位按摩法操作评分标准
- 充电站运营管理制度(参考模板)
- 体育与健康教学设计《手倒立前滚翻》
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 《史记》上册注音版
评论
0/150
提交评论