消除类游戏的设计与实现详细设计Word格式.docx
- 文档编号:19259202
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:16
- 大小:196.01KB
消除类游戏的设计与实现详细设计Word格式.docx
《消除类游戏的设计与实现详细设计Word格式.docx》由会员分享,可在线阅读,更多相关《消除类游戏的设计与实现详细设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
修改内容
1
VER0.1.0
初始做成
2
2015.5.28
VER1.0.0
修改字体
1文档概述
1.1文档目的和范围
此文档是对基于s3c2440平台QT技术的消除类游戏设计与实现详细设计描述,主要是描述了本程序接口函数和内部接口函数以及内部函数的定义、流程图和构成图以及测试项目的记述。
1.2术语/缩略语
序号
术语/缩略语
说明
s3c2440
手持设备和通用嵌入式应用的集成系统
QT
一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架
1.3参考文档
文档名
作者
时间
版本
需求分析报告书
2014.11.11
概要设计
2014.11.20
2处理
2.1模块数据结构定义
2.1.1全局变量定义
定义游戏是否结束:
intisGameOver;
定义游戏是否暂停:
intisPause;
定义游戏图片:
QPixmappixmap[5];
定义鼠标点击图片的横坐标:
intfocus_x;
定义鼠标点击图片的纵坐标:
intfocus_y;
定义鼠标上一次点击图片的坐标:
QPointpoint;
定义游戏所得分数:
intscore;
定义游戏剩余时间:
inttimecount;
定义存储图片信息的数组intmap[ROWCOUNT][COLCOUNT];
2.2模块功能实现
2.2.1模块内部函数
2.2.1.1ShowGamePicture
【函数式样】
函数名
ShowGamePicture()
文件名
game.cpp
功能概要
游戏界面初始化
记述形式
voidShowGamePicture(QPainter*painter);
参数
类型
变量名
I/O
QPainter
*painter
-
QPainter类型指针
返回值
void
值
详细说明
游戏界面初始化,显示游戏中各类图片
使用注意事项
无
【函数处理流程】
图表1ShowGamePicture
上图为游戏界面初始化流程图,系统根据储存游戏图片数组中的信息来随机产生图片,如果该位置有图片则不会放置图片,如果没有则随机产生填补。
2.2.1.2Sign
Sign()
鼠标滑动方向判断
intSign(QPointpoint_start,QPointpoint_end);
QPoint
point_start
鼠标滑动起点
point_end
鼠标滑动终点
int
鼠标向上滑动
鼠标向下滑动
3
鼠标向左滑动
4
鼠标向右滑动
判断鼠标滑动方向
图表2Sign
上图为鼠标滑动方向判断流程图,根据鼠标按下和释放来实现手指的滑动处理,在鼠标按下后记录鼠标的所点击的图片坐标,鼠标释放后再记录鼠标所在的图片坐标这些分别用mousePressEvent和mouseReleaseEvent事件来处理,然后根据两点的坐标判断鼠标的滑动方向。
2.2.1.3IfRemove
IfRemove()
判断游戏图片是否可以消除
boolIfRemove();
Void
-
bool
true
可以消除
false
不可以消除
判断变化方向之后的图片是否至少有3个相邻且在同一行或同一列
图表3IfRemove
上图为消除函数流程图,从每一行的第一张图片开始记录图片的种类并且将计数器置一。
与下一张图片对比看是否相同如果相同则计数器加一从复本步骤直到行末,否则更改记录图片的种类为本张图片的种类,然后查看计数器的大小如果小于三则置一,否则执行下一步。
将从本张图片之前的相同图片做好标记以便在后续的图片清除和展示图片清除的动态效果。
2.2.1.4IsOver
IsOver()
判断游戏是否结束
boolIsOver(inttime);
time
剩余时间
游戏结束
游戏没有结束
判断游戏是否结束并进行相应处理
图表4IsOver
上图为判断时间计数器是否等于0,如果等于0则返回true,如果不等于0则返回false,返回true则游戏结束。
2.2.1.5PaintEvent
PaintEvent()
绘图事件
VoidPaintEvent(QPaintEvent*event);
QPaintEvent
*event
绘图事件指针
绘制窗口内容
图表5PaintEvent
上图为窗口重绘流程图,如果游戏没有结束则根据绘制信息进行图片绘制。
2.2.1.6mousePressEvent
mousePressEvent()
鼠标按下事件
voidmousePressEvent(QMouseEvent*event);
QMouseEvent
鼠标事件指针
鼠标按下记录所点击的图片坐标
上图为鼠标按下事件流程图,如果游戏没有结束按下鼠标左键则记录鼠标坐标。
2.2.1.7mouseReleaseEvent
mouseReleaseEvent()
鼠标释放事件
voidmouseReleaseEvent(QMouseEvent*event);
鼠标释放指针并记录释放所在图片的坐标
图表6mouseReleaseEvent
上图为鼠标释放事件流程图,如果游戏没有结束释放鼠标左键则记录鼠标坐标。
2.2.1.8AddTime
AddTime()
事件奖励
voidAddTime(inttime);
奖励的事件
根据消除的情况给予相应的事件奖励
图表7AddTime
上图为奖励时间流程图,根据消除的数量进行时间奖励。
2.2.1.9UseTime
UseTime()
倒计时
voidUseTime();
图表8UseTime
上图为时间计数器倒计时处理流程图,判断游戏是否结束。
2.2.1.10AddScore
AddScore()
增加分数
voidAddScore(intscore);
score
所得分数
根据图片消除情况给予相应得分
图表9AddScore
上图为计分处理流程图,根据消除的级别进行相应的得分奖励。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 消除 游戏 设计 实现 详细