




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、贪吃蛇_详细设计说明书编写人: 完成日期 :X年X月X日文档名称: 详细设计规格说明书项目名称:贪吃蛇游戏 项目负责人:XXX XXX 编写 TEST _X_年_X_月_X_日 校对 所有小组成员 _2015_年_6_月_13_日 审核 所有小组成员 _2015_年_6_月_13_日 批准 XXX _2015_年_6_月_14_日 开发单位 _XXX班_组员: XXX XXX目录1.引言21.1编写目的21.2背景21.3定义21.4参考资料32.系统的结构42.1 每个模块的名称、标识符如下所示:42.2模块之间的关系:53模块1(标识符)设计说明63.1模块描述63.2功能73.3性能73
2、.4输入项83.5输出项83.6设计方法(算法)83.7流程逻辑113.8接口113.9存储分配123.10注释设计123.11限制条件123.12测试计划123.13尚未解决的问题131.引言1.1编写目的本说明书在概要设计的基础上,对贪吃蛇游戏的各模块、程序、子系统分别进行了实现层面上的要求和说明。软件开发小组的产品实现人员阅读和参考本说明进行代码的编写和测试。 本说明书预期的读者是软件开发小组的产品实现人员。1.2背景说明: 系统名称:贪吃蛇游戏 任务提出者:手机策划人员 开发者:软件开发小组的产品实现人员用户:Android操作系统手机用户 运行该程序系统的计算中心:Android操作
3、系统手机芯片1.3定义 1.节:一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。 2. 链表:用来保存每一段的状态,链表的元素单位是节。且链表的第一个元素表示蛇的头部。3. 坐标系: 以左上角那点为(0,0),向右则x递增,向下则y递增1.4参考资料1.软件工程导论 张海藩著清华大学出版社2.数据库系统原理教程 刘 韬著人民邮电出版社3.C程序设计 谭浩强 清华大学出版社4.成功的软件开发(原书第二版)(蔡愉祖、邓本江等译) 机械工业出版社)5.实用软件文档写作 肖刚著 清华大学出版社6.计算器的电路设计及算法研究D. 邱钊. 电子科技大学,2011.7.基于Jav
4、a EE的网络销售系统的设计与实现D. 刘丹.湖南大学,20128 需求规格说明书 软件开发小组 2015/49 用户操作手册(初稿)软件开发小组 2015/52.系统的结构2.1 每个模块的名称、标识符如下所示:1. Ground类1)privateintTYPE; 2)publicintrocks=newintGlobal.WIDTHGlobal.HEIGHT;3)publicvoidsetGround(inttype) 根据不同的Type值将rocks的不同下标的元素设为1,其他元素为0。4)publicbooleanisSnakeEatRock(Snakesnake) 判断蛇头的所在的
5、位置在数组rocks中的值是否为1,如果是1,则表示蛇吃到了石头,返回TRUE,否则返回FALSE。5) publicPointgetPoint()产生一组随机数(x,y),是食物的坐标6) publicvoiddrawMe(Graphicsg) 将数组rocks中值为1的元素填充为石头颜色。2.Snake类: 1) publicstaticintx,y; 2)privateintoldDirection,newDirection; 用于判断newDirection和oldDirection是否为相反方向,用于选取有效方向。3)privatePointoldTail; 用于判断蛇头是否和蛇身的
6、某个节点的坐标重合,即蛇是否吃到自己。4)publicLinkedListbody=newLinkedList();5)publicvoiddie() 设置变量life=FALSE;使控制进程的条件为假,进程结束。6) publicvoidmove()实现蛇身沿着蛇头的轨迹移动 7)publicvoidchangeDirection(intdirection)根据方向键,改变蛇头的x、y的值,即改变方向 8)publicvoiddrawMe(Graphicsg)/把属于蛇的格子画出来 9)privateclassSnakeDriverimplementsRunnable/蛇不停走动3.Food
7、类: 1)publicvoiddrawMe(Graphicsg) 根据产生的一组随机坐标,在其坐标处画出食物4.Controller类: 功能:处理按键事件及鼠标点击事件,处理逻辑。根据不同的情况向Snake,Food,Ground发出不同的命令。 实现接口snake Moved,蛇每移动一步,就要判断一次,蛇是否吃到石头、是否吃到自己,是的话就snake.die()并停止计时;不是则不进行任何操作。如果吃到食物, 就要加分、重画食物、蛇身加长。 实现(N)New Game功能、(E)Exit功能、(R)Resume功能、(L)Low Level功能、(H)High Level功能、(P)Pa
8、use功能。 5.Game Panel类: 功能:画出Snake,Food,Ground,并实现重新显示。2.2模块之间的关系:ControllerGround重新显示Game panel触发按键事件处理按键事件Snake处理逻辑根据不同情况向Ground、Snake、Food发出指令Food3模块1(标识符)设计说明3.1模块描述1. 目的和意义: 该部分以窗体上的按钮或键盘上的快捷键为用户提供友好的控制手段。为工作量繁大的用户提供一个简单而有趣的小游戏。2. 特点说明: 1) 程序交互性好,操作性强。2)易操作。简单而有趣。 3)功能全面,如:开始新游戏、暂停、继续、设置初级、设置高级、查
9、看历 史成绩、查看游戏说明、退出游戏。 4)对于每次不可选的按钮设置为灰显,避免了用户的错误操作。3.2功能New GamePauseResumeLow LevelHigh LevelExitsnake. start();food. newFood();time.newTime(); 从文件中读取历史分数记录时间分数停止计时,将石头、食物、等级、分数、时间、蛇每个节点的坐标信息保存到文件中去文件中读取石头、食物、等级、分数、时间、蛇每个 节点的坐标信息snake .start();time.newTime();food.newFood(food)记录信息设定Type值为1,setGround(
10、Type);改变蛇移动的时间间隔 游戏结束设定Type值为2,set Ground(Type);改变蛇移动的时间间隔 System. exit(0);3.3性能 本游戏在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。 游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。3.4输入项 用户的按钮操作,如点击New Game、Pause、Resume、Low Level、High Level、High Score、Description、Exit。或者选择键盘上的方向键和游戏设置的
11、快捷键。快捷键有:N(New Game)、P(Pause)、R(Resume)、L(Low Level)、H(High Level)、S(High Score)、D(Description)、E(Exit)。3.5输出项时间、分数,以及将石头、食物、等级、分数、时间、蛇每个节点的坐标信息。3.6设计方法(算法)1. 蛇、石头、食物的表示方法: 把显示区看做一个大大的表格,里面的格子就是组成蛇的基本单位,一个格子就表示一块石头或代表一个事物。几个连在一起的格子就可以代表一条蛇。使用坐标来区分这些格子。2. 蛇的移动方式 蛇每移动一步,可以看做蛇头增加一个节点,蛇尾删去一个节点。移动前去掉蛇头移动
12、后新蛇头原来的第二个节点旧蛇头3. 保存蛇的数据结构 因为要区分蛇头和蛇尾,这就要求这个数据结构是有序的,还要经常的访问最后一个和第一个节点,所以Link List最适合。4. 蛇的移动方向根据原来蛇头的坐标和方向计算新蛇头的坐标5. 格子的坐标和像素坐标 由于画蛇、食物、石头我们只是填充一个矩形,或者在相应位置显示一张图片,所以我们要知道每个格子的坐标。3.7流程逻辑New GameDraw: Food, Snake, Ground StartTimer, Snake MoveYesPause?Snake. pause=True Timer. CloseNoResume?YesYesIs S
13、nake Eat Food?Snake. pause=False Timer. StartSnake, .Add Last Add Score New FoodNoIs Snake Eat Food?YesNoYesIs Snake Eat Food?Snake .DieNoDraw: Food, Snake, Ground ,Snake MoveGame Over3.8接口 Snake Listener: Void SankeMoved(Snake)3.9存储分配该游戏软件运行时,Snake、Food、Ground三个对象一致同时存在,直到戏结 束。其中蛇移动方法长期占用资源,改变方向、吃到
14、食物及石头都是瞬发动作,只是瞬间占用系统资源。3.10注释设计Snake类中1) privateintoldDirection,newDirection; 用于判断newDirection和oldDirection是否为相反方向,用于选取有效方向。2) privatePointoldTail; 用于判断蛇头是否和蛇身的某个节点的坐标重合,即蛇是否吃到自己。3)Privateboollife=TRUE;进程的控制条件3.11限制条件1.每个选项New Game、Pause、Resume、Low Level、High Level、Exit不能连续点击。2.每次要点击Exit退出游戏才能保存游戏。3.所运行机器必须装有JVM3.12测试计划1.对这几个主要功能NewGame、Pause、Resume、LowLevel、HighLevel、Exit逐个进行测试。2. 由于程序较小,测试时间预计为1小时。3.预期的结果: 1) 在开始游戏后,按键盘上的方向键蛇会相应的改变方向。2) 吃掉食物后蛇身的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030肉牛产业自媒体营销创新与消费者教育研究
- 2025-2030羊肉批发市场价格波动因素及风险预警研究报告
- 2025-2030畜禽养殖场空气净化设备技术路线与降本方案
- 2025浙江台州市建设工程质量检测中心招聘编制外用工3人备考模拟试题及答案解析
- 2025四川南充市蓬安县医疗卫生辅助岗补充15人备考考试题库附答案解析
- 2025中国联合健康医疗大数据有限责任公司招聘(9人)考试模拟试题及答案解析
- 2025天津市大中专毕业生就业指导中心见习基地招聘备考练习试题及答案解析
- 2025年辽宁省交通建设投资集团招聘104人备考考试题库附答案解析
- 2025四川长虹电子科技有限公司招聘主管电路设计工程师等岗位4人备考考试试题及答案解析
- 2025新疆和田地区18家用工单位招聘备考考试试题及答案解析
- 财务决策实训课件
- 现代信号处理课件
- 第三章平面机构的结构分析
- 狂犬病健康宣教课件
- 20道云南白药销售代表岗位常见面试问题含HR常问问题考察点及参考回答
- 一年级《道德与法治》教材分析
- 基于生态旅游的广西兴业鹿峰山景区旅游开发研究
- 公路隧道病害产生机理及防治对策
- TCSAE 273-2022 轮胎瞬态复合滑移特性通用试验方法
- 我的家乡石阡
- 全国安全生产月安全知识竞赛700题及答案
评论
0/150
提交评论