您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 消除类游戏的设计与实现详细设计
基于s3c2440的消除类游戏的设计与实现详细设计总页数18正文15附录0生效日期2014.12.5编制批准详细设计报告版本:1.0.0修改履历修改编号日期修改人版本号修改内容12014.12.5VER0.1.0初始做成22015.5.28VER1.0.0修改字体详细设计报告版本:1.0.0目录1文档概述...................................................................................................................................11.1文档目的和范围...........................................................................................................11.2术语/缩略语..................................................................................................................11.3参考文档.......................................................................................................................12处理...........................................................................................................................................12.1模块数据结构定义.......................................................................................................12.1.1全局变量定义..................................................................................................................12.2模块功能实现...............................................................................................................22.2.1模块内部函数..................................................................................................................2详细设计报告版本:1.0.011文档概述1.1文档目的和范围此文档是对基于s3c2440平台QT技术的消除类游戏设计与实现详细设计描述,主要是描述了本程序接口函数和内部接口函数以及内部函数的定义、流程图和构成图以及测试项目的记述。1.2术语/缩略语序号术语/缩略语说明1s3c2440手持设备和通用嵌入式应用的集成系统2QT一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架1.3参考文档序号文档名作者时间版本1需求分析报告书2014.11.11VER1.0.02概要设计2014.11.20VER1.0.02处理2.1模块数据结构定义2.1.1全局变量定义定义游戏是否结束:intisGameOver;定义游戏是否暂停:intisPause;定义游戏图片:QPixmappixmap[5];定义鼠标点击图片的横坐标:intfocus_x;定义鼠标点击图片的纵坐标:intfocus_y;定义鼠标上一次点击图片的坐标:QPointpoint;定义游戏所得分数:intscore;定义游戏剩余时间:inttimecount;定义存储图片信息的数组intmap[ROWCOUNT][COLCOUNT];详细设计报告版本:1.0.022.2模块功能实现2.2.1模块内部函数2.2.1.1ShowGamePicture【函数式样】函数名ShowGamePicture()文件名game.cpp功能概要游戏界面初始化记述形式voidShowGamePicture(QPainter*painter);参数类型变量名I/O说明QPainter*painter-QPainter类型指针返回值类型void说明值----详细说明游戏界面初始化,显示游戏中各类图片使用注意事项无详细设计报告版本:1.0.03【函数处理流程】开始是否有空图片?随机选择图片摆放位置该位置是否已经有图片?摆放图片重新选择位置结束是否是否图表1ShowGamePicture上图为游戏界面初始化流程图,系统根据储存游戏图片数组中的信息来随机产生图片,如果该位置有图片则不会放置图片,如果没有则随机产生填补。详细设计报告版本:1.0.042.2.1.2Sign【函数式样】函数名Sign()文件名game.cpp功能概要鼠标滑动方向判断记述形式intSign(QPointpoint_start,QPointpoint_end);参数类型变量名I/O说明QPointpoint_start-鼠标滑动起点QPointpoint_end-鼠标滑动终点返回值类型int说明值1鼠标向上滑动2鼠标向下滑动3鼠标向左滑动4鼠标向右滑动详细说明判断鼠标滑动方向使用注意事项无详细设计报告版本:1.0.05【函数处理流程】开始判断游戏是否暂停判断两点坐标是否相等否x1==x2&&y1==y2+1否鼠标向下滑动否鼠标向上滑动x1==x2&&y1==y2-1y1==y2&&x1==x2-1鼠标向左滑动鼠标向右滑动是否否是是结束是是图表2Sign上图为鼠标滑动方向判断流程图,根据鼠标按下和释放来实现手指的滑动处理,在鼠标按下后记录鼠标的所点击的图片坐标,鼠标释放后再记录鼠标所在的图片坐标这些分别用mousePressEvent和mouseReleaseEvent事件来处理,然后根据两点的坐标判断鼠标的滑动方向。详细设计报告版本:1.0.062.2.1.3IfRemove【函数式样】函数名IfRemove()文件名game.cpp功能概要判断游戏图片是否可以消除记述形式boolIfRemove();参数类型变量名I/O说明Void---返回值类型bool说明值true可以消除false不可以消除详细说明判断变化方向之后的图片是否至少有3个相邻且在同一行或同一列使用注意事项无详细设计报告版本:1.0.07【函数处理流程】开始初始化行号行号是否大于最大值初始化列号并记录第一个值,计数器等于一否列号是否大于最大值行号加一是列号加一否判断当前值是否和记录值相等是计数器加一判断计数器是否大于三否标记符合要求图片是将记录值改为当前值计数器等于一否结束是初始化列号列号是否大于最大值初始化行号并记录第一个值,计数器等于一否行号是否大于最大值列号加一是行号加一否判断当前值是否和记录值相等是计数器加一判断计数器是否大于三否标记符合要求图片是将记录值改为当前值计数器等于一否是图表3IfRemove详细设计报告版本:1.0.08上图为消除函数流程图,从每一行的第一张图片开始记录图片的种类并且将计数器置一。与下一张图片对比看是否相同如果相同则计数器加一从复本步骤直到行末,否则更改记录图片的种类为本张图片的种类,然后查看计数器的大小如果小于三则置一,否则执行下一步。将从本张图片之前的相同图片做好标记以便在后续的图片清除和展示图片清除的动态效果。2.2.1.4IsOver【函数式样】函数名IsOver()文件名game.cpp功能概要判断游戏是否结束记述形式boolIsOver(inttime);参数类型变量名I/O说明inttime-剩余时间返回值类型bool说明值true游戏结束false游戏没有结束详细说明判断游戏是否结束并进行相应处理使用注意事项无详细设计报告版本:1.0.09【函数处理流程】开始判断时间计数器是否等于0?返回true返回false结束是否图表4IsOver上图为判断时间计数器是否等于0,如果等于0则返回true,如果不等于0则返回false,返回true则游戏结束。2.2.1.5PaintEvent【函数式样】函数名PaintEvent()文件名game.cpp功能概要绘图事件记述形式VoidPaintEvent(QPaintEvent*event);参数类型变量名I/O说明QPaintEvent*event-绘图事件指针返回值类型void说明值----详细说明绘制窗口内容使用注意事项无详细设计报告版本:1.0.010【函数处理流程】开始判断游戏是否结束或是否暂停绘制图片结束否是图表5PaintEvent上图为窗口重绘流程图,如果游戏没有结束则根据绘制信息进行图片绘制。2.2.1.6mousePressEvent【函数式样】函数名mousePressEvent()文件名game.cpp功能概要鼠标按下事件记述形式voidmousePressEvent(QMouseEvent*event);参数类型变量名I/O说明QMouseEvent*event-鼠标事件指针返回值类型void说明值----详细说明鼠标按下记录所点击的图片坐标使用注意事项无详细设计报告版本:1.0.011【函数处理流程】开始判断游戏是否暂停记录鼠标的坐标结束否是上图为鼠标按下事件流程图,如果游戏没有结束按下鼠标左键则记录鼠标坐标。2.2.1.7mouseReleaseEvent【函数式样】函数名mouseReleaseEvent()文件名game.cpp功能概要鼠标释放事件记述形式voidmouseReleaseEvent(QMouseEvent*event);参数类型变量名I/O说明QMouseEvent*event-鼠标事件指针返回值类型void说明值----详细说明鼠标释放指针并记录释放所在图片的坐标使用注意事项无详细设计报告版本:1.0.012【函数处理流程】开始判断游戏是否暂停记录鼠标的坐标结束否是图表6mouseReleaseEvent上图为鼠标释放事件流程图,如果游戏没有结束释放鼠标左键则记录鼠标坐标。2.2.1.8AddTime【函数式样】函数名AddTime()文件名game.cpp功能概要事件奖励记述形式voidAddTime(inttime);参数类型变量名I/O说明inttime-奖励的事件返回值类型void说明值----详细说明根据消除的情况给予相应的事件奖励使用注意事项无详细设计报告版本:1.0.013【函数处理流程】开始获取奖励的时间值x时间计数器=时间计数器+x结束图表7AddTime上图为奖励时间流程图,根据消除的数量进行时间奖励。2.2.1.9UseTime【函数式样】函数名UseTime()文件名game.cpp功能概要倒计时记述形式voidUseTime();参数类型变量名I/O说明void---返回值类型void说明值----详细说明倒计时使用注意事项无详细设计报告版本:1.0.014【函数处理流程】开始时间计数器减一调用IsOver()函数结束图表8UseTime上图为时间计数器倒计时处理流程图,判断游戏是否结束。2.2.1.10AddScore【函数式样】函数名AddScore()文件名game.cpp功能概要增加分数记述形式voidAddScore(intscore);参数类型变量名I/O说明intscore-所得分数返回值类型void说明值----详细说明根据图片消除情况给予相应得分使用注意事项无详细设计报告版本:1.0.015【函数处理流程】开始获取消除级别
本文标题:消除类游戏的设计与实现详细设计
链接地址:https://www.777doc.com/doc-3846171 .html