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