软件工程课程设计 连连看.docx

上传人:b****3 文档编号:2958716 上传时间:2022-11-16 格式:DOCX 页数:21 大小:737.07KB
下载 相关 举报
软件工程课程设计 连连看.docx_第1页
第1页 / 共21页
软件工程课程设计 连连看.docx_第2页
第2页 / 共21页
软件工程课程设计 连连看.docx_第3页
第3页 / 共21页
软件工程课程设计 连连看.docx_第4页
第4页 / 共21页
软件工程课程设计 连连看.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程课程设计 连连看.docx

《软件工程课程设计 连连看.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计 连连看.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程课程设计 连连看.docx

软件工程课程设计连连看

连连看软件需求分析说明书

变更记录

日期

版本

变更说明

作者

2015-01-06

1.0

初始版本

王海涛

签字确认

系统模块

对应章节

对应部门

负责人签字

1概述

1.1目的

本需求规格说明书编写的目的是为了清晰地说明本次开发《连连看软件》要实现的所有功能。

同时对软件所需实现的功能模块做了全面的描述。

它是后续开发工作和验收工作的依据文件。

1.2背景

待开发的软件系统的名称:

连连看游戏;

开发者:

软件1214班邢玮;

用户:

连连看游戏玩家;

本说明书的预期读者为:

用户,程序开发人员。

1.3术语定义

直连消除:

两个相同的图标在同一行或同一列,并且中间没有其它图标,可以消除;

一折连消除:

两个相同的图标仅经过一个转弯,可以消除;

二折连消除:

两个相同的图标经过两个转弯,可以消除;

1.4参考资料

(1)Java核心技术

1.5任务概述

1.5.1目标

打开连连看软件,用户可以选择游戏难度,点击相应的按钮进行游戏,系统向用户发出当前难度提示,用户点击确定后进入游戏界面,系统开始计时,游戏开始。

当时间结束时,游戏结束。

用户选择两个一样的图标进行消除,系统会自动判断用户所选择的图标是否满足直连、一折连、二折连消除,若满足,则消除这两个图标。

当用户消除所有的图标,返回本次游戏用时和得分。

用户可以单击任意一个图标两次来重置所有的图标。

在游戏的主界面,用户可以查看用户的由高到低三次游戏成绩,也可以查看开发人员的信息。

在游戏开后的任意时刻,用户都可以选择回到主界面或者退出程序。

1.5.2用户的特点

连连看软件的用户很广泛,所有明白连连看游戏规则的人都可以进行游戏

1.5.3假定和约束

本产品由个人来完成,要求在两周之内来完成,目前是单机版,不支持多人游戏。

1.6运行环境

简要说明本产品的运行环境(包括硬件环境和支持环境)的规定。

1.6.1软件环境

名称

版本

语种

操作系统

Windows

7及以上

语言

Java

运行环境

JDK,JRE

1.7.0及以上

1.6.2硬件环境

硬件配置

最低配置

推荐配置

客户端

1CPU:

P41.0G

1CPU:

P42.0G

Mem:

512M

Mem:

1G

HD:

40G

HD:

120G

1.6.3接口

用户界面

1.7需求规定

1.7.1对功能的需求

1.7.1.1系统功能层次模块图

1.7.1.2客户端模块功能的描述

1.7.1.2.1主界面

客户端显示

1.简单难度

2.中等难度

3.困难难度

4.历史成绩

5.关于作者

6.退出

1.7.1.2.2简单游戏

客户端向用户提示:

“在150秒内完成所有消除”

在用户点击确定后,游戏开始。

系统向用户显示剩余时间,在用户不点击任何图标的情况下,时间和分数每一秒都会减少一个单位。

用户每消除一对图标,时间就会增加一秒,分数也会增加。

用户双击同一个图标,使所有图标重置。

当所有图标都消除之后,系统返回通关成功的信息:

通关时间和成绩。

若时间结束时,还有未消除的图标,则系统向用户返回游戏结束信息:

“游戏时间结束”。

用户点击确定后,系统返回排行榜信息

1.7.1.2.3中等游戏

客户端向用户提示:

“在150秒内完成所有消除,向左并拢”

在用户点击确定后,游戏开始。

系统向用户显示剩余时间,在用户不点击任何图标的情况下,时间和分数每一秒都会减少一个单位。

用户每消除一对图标,时间就会增加一秒,分数也会增加,且所有的图标都会向左并拢。

用户双击同一个图标,使所有图标重置。

当所有图标都消除之后,系统返回通关成功的信息:

通关时间和成绩。

若时间结束时,还有未消除的图标,则系统向用户返回游戏结束信息:

“游戏时间结束”。

用户点击确定后,系统返回排行榜信息

1.7.1.2.4困难游戏

客户端向用户提示:

“在150秒内完成所有消除,每消除一对重置一次”

在用户点击确定后,游戏开始。

系统向用户显示剩余时间,在用户不点击任何图标的情况下,时间和分数每一秒都会减少一个单位。

用户每消除一对图标,时间就会增加一秒,分数也会增加,而且所有的图标都会重置一次。

用户双击同一个图标,使所有图标重置。

当所有图标都消除之后,系统返回通关成功的信息:

通关时间和成绩。

若时间结束时,还有未消除的图标,则系统向用户返回游戏结束信息:

“游戏时间结束”。

用户点击确定后,系统返回排行榜信息。

1.7.1.2.5历史成绩

用户点击“历史成绩”按钮,系统显示迄今为止的三次最好成绩。

1.7.1.2.6关于作者

用户点击“关于作者”按钮,系统向用户显示本软件开发者的信息。

1.7.1.2.7退出游戏

用户点击“退出游戏”按钮,程序自动退出。

1.7.2对非功能性的需求

1.7.2.1对性能的规定

1.7.2.1.1精度

所有数据均为整型

1.7.2.1.2时间特性要求

及时响应

1.7.2.1.3灵活性

1.7.2.2输入输出要求

鼠标操作即可

1.7.2.3数据管理能力要求

由高到低存放用户的8次记录

1.7.2.4故障处理要求

针对玩家异常操作,进行异常处理:

1.两次点击同一个图标,重置界面;

2.点击两个不同的图标a,b,再次点击其它图标时,会判断与b的连通性;

3.点击不连通的图标,不进行操作。

1.7.2.5其他专门要求

 

连连看系统设计说明书

 

变更记录

日期

版本

变更说明

作者

2015-01-06

1.0

初始版本

邢玮

2009-01-07

1.1

添加了一些算法

邢玮

签字确认

系统模块

对应章节

对应部门

负责人签字

2引言

2.1编写目的

本说明书目的在于明确说明系统各功能的实现方式,指导开发员进行编码。

本说明书的预期读者为开发者和测试等。

2.2背景

待开发软件系统的名称:

连连看软件

此软件系统任务开发者:

邢玮

此软件系统任务用户:

不详

2.3基线

连连看需求分析说明书v1.0

2.4范围

2.5定义

连连看:

玩家点击两个相同的图标,系统判断能否消除。

判断规则:

直连消除:

两个相同的图标在同一行或同一列,并且中间没有其它图标,可以消除;

一折连消除:

两个相同的图标仅经过一个转弯,可以消除;

二折连消除:

两个相同的图标经过两个转弯,可以消除;

2.6参考资料

属于本项目的其他已发表的文件。

本文件中引用的其他文献、资料以及软件开发标准。

3总体设计

3.1概述

3.1.1功能描述

系统包括的范围一个客户端和服务器端,实现实时信息传递。

3.1.2运行环境

3.1.2.1软件环境

名称

版本

语种

操作系统

Windows

7及以上

语言

Java

运行环境

JDK,JRE

1.7.0及以上

3.1.2.2硬件环境

硬件配置

最低配置

推荐配置

客户端

1CPU:

P41.0G

1CPU:

P42.0G

Mem:

512M

Mem:

1G

HD:

40G

HD:

120G

3.2设计思想

3.2.1总的业务流程

连连看总的流程是:

1、玩家选择游戏难度(简单游戏、中等游戏、困难游戏),系统向玩家提示所选择的游戏规则,并开始倒计时,游戏开始:

(1).简单游戏:

玩家选择两个相同的图标,系统判断是否满足消除条件。

玩家可以选择点击任意一个图标两次来重置游戏界面。

当玩家在时间结束前消除所有的图标,通关成功。

若时间结束时玩家没有消除所有图标,则系统返回游戏结束信息。

最后系统向玩家显示游戏成绩。

玩家可选择退出游戏或返回主界面;

(2).中等游戏:

玩家选择两个相同的图标,系统判断是否满足消除条件,每当一对图标被消除后,所有可向左移动的图标均向左并拢。

玩家可以选择点击任意一个图标两次来重置游戏界面。

当玩家在时间结束前消除所有的图标,通关成功。

若时间结束时玩家没有消除所有图标,则系统返回游戏结束信息。

最后系统向玩家显示游戏成绩。

玩家可选择退出游戏或返回主界面;

(3).困难游戏:

玩家选择两个相同的图标,系统判断是否满足消除条件,每当一对图标被消除后,整个游戏界面会被刷新一次。

玩家可以选择点击任意一个图标两次来重置游戏界面。

当玩家在时间结束前消除所有的图标,通关成功。

若时间结束时玩家没有消除所有图标,则系统返回游戏结束信息。

最后系统向玩家显示游戏成绩。

玩家可选择退出游戏或返回主界面;

2、历史成绩:

系统向玩家显示迄今为止的三次最好成绩。

3、关于作者:

系统向玩家显示软件开发者信息。

4、退出游戏:

系统自动结束本程序的线程。

3.2.2系统功能框架

系统功能层次图

3.2.3关键技术与算法

3.2.3.1判断图标消除的算法

直连:

判断两点是否在同一水平线或铅直线,若在则判断两点间是否存在非0节点,不存在则可以直连,否则不能直连。

一折连:

先判断两节点是否为对角相邻关系(x_0=x_1(+/-)1||y_0=y_1(+/-)1),若是则判断相邻两节点是否为0,有一个为0则可以一折连;若不为对角相邻关系,则分别判断两点与其所在水平线与铅直线之间的交点((x_0,y_1)与(x_1,y_0))与两点是否可实现直连,若有一点可以双向直连,则两节点可以一折连;

二折连:

遍历其中一个节点水平线和铅直线上所有值为0的节点(x_1,i||i,y_1),并判断(x_1,i||i,y_1)与(x_0,y_0)能否一折连,与(x_1,y_1)能否直连。

均能则可以二折连,否则判断下一节点。

若均不成功,则不能二折连。

3.2.3.2线程控制

时间控制,时间变量每秒减一,为0退出游戏并弹出结束界面

3.2.3.3JFrame可视化界面

在界面上添加按键二维数组,其值为图标名称。

为0则无图标。

3.2.3.4打包生成随机数矩阵算法

获取最大值max,最小值min,生成组数sum以及每个数出现次数num,

建立随机数组point[sum],

从min到max循环(循环变量i),每次生成4个0~sum的随机数tmp,并且当point[tmp]==0时,point[tmp]=i;否则重新生成改组随机数,最后得到随机数组为point[sum],其值为min~max,没个数出现num次。

3.2.3.5界面重置算法

遍历游戏界面矩阵,将值不为0的节点的值存入数组num[]中,

创建数组point[];循环for(i=0;num[i]!

=0;i++){生成随机数tmp,判断point[tmp]是否为0,为0则point[tmp]=num[i],否则重新生成随机数,且i--}

返回数组point[],遍历游戏界面矩阵,将point[]的值依次赋予值不为0的节点,并刷新界面图标

3.2.3.6图标消除算法(当两图标可连通时执行)

简单游戏将矩阵对应节点值置为0,并且对应按键执行setVisible(false);

中等游戏将矩阵

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

当前位置:首页 > 法律文书 > 调解书

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

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