消除类游戏的设计与实现详细设计Word格式.docx

上传人:b****5 文档编号:19259202 上传时间:2023-01-04 格式:DOCX 页数:16 大小:196.01KB
下载 相关 举报
消除类游戏的设计与实现详细设计Word格式.docx_第1页
第1页 / 共16页
消除类游戏的设计与实现详细设计Word格式.docx_第2页
第2页 / 共16页
消除类游戏的设计与实现详细设计Word格式.docx_第3页
第3页 / 共16页
消除类游戏的设计与实现详细设计Word格式.docx_第4页
第4页 / 共16页
消除类游戏的设计与实现详细设计Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

消除类游戏的设计与实现详细设计Word格式.docx

《消除类游戏的设计与实现详细设计Word格式.docx》由会员分享,可在线阅读,更多相关《消除类游戏的设计与实现详细设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

消除类游戏的设计与实现详细设计Word格式.docx

修改内容

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

上图为计分处理流程图,根据消除的级别进行相应的得分奖励。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1