俄罗斯方块需求说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求说明书
目录
●文档说明:
⏹文档目的;
⏹文档范围;
⏹读者对象;
⏹参考文档;
⏹术语与缩写解释
●产品介绍
●产品面向的用户群体
●产品应当遵循的标准或规范
●产品的功能性需求
◆随机产生经典俄罗斯方块图形
◆设置关卡,不同级别关卡速度不同
◆方向键实现下落图形的左移、右移、加速下落、变形等基本操作
◆正确判断游戏结束
◆对游戏成绩进行记分
◆设置成绩排行榜
●产品非功能性需求
⏹用户界面需求
⏹软硬件环境需求
⏹产品质量需求
【0】文档目的:
本文档主要针对俄罗斯方块的使用环境与功能提出具体的要求,同时它还将作为该产品设计与开发的重要参考依据
0.1文档范围:
本文档包括一下几部分:
1.产品介绍;
2.产品面向的用户群体;
3.产品应当遵循的标准或规范;
4.产品的功能性需求;
5.产品的非功能性需求;
0.2读者对象:
本文档的读者范围包括:
1.需求提供方具体责任人
2.开发方的项目经理、系统分析设计人员、测试人员
0.3参考文档【待定】
提示:列出本文档的所有参考文献(可以是非正版出版物)
[标识符]作者,文献名称,出版单位,日期
0.4术语与缩写解释
【1】产品介绍:
俄罗斯方块是大家比较熟悉的一款单机小游戏,用户界面由一定数量的小方格组成的方块构成。当游戏开始时,计算机将随机抽取方块的放到方格上。此游戏还允许玩家旋转方块,左右移动,加速向下。
【2】产品面向的用户群体
网络爱好者,休闲娱乐!
【3】产品应当遵循的标准或规范
无;
【4】产品功能性需求:
功能
1.随机产生经典俄罗斯方块图形
2.设置难度级别,不同级别速度不同
3.方向键实现下落图形的左移、右移、加速下落、变形等基本操作
4.正确判断游戏结束
5.对游戏成绩进行记分
6.设置成绩排行榜
4.1随机产生经典俄罗斯方块图形
功能描述:
该功能主要通过随机函数生成方块类型;
图片:
4.2设置难度级别,不同级别速度不同
功能描述:
用户通过设置难度,改变速度
图片:
4.3方向键实现下落图形的左移、右移、加速下落、变形等基本操作
功能描述:
根据方向键实现,需要编写keyDown事件处理程序,进行处理图片:
4.4正确判断游戏结束
功能描述:
图片:
4.5对游戏成绩进行记分
功能描述:
对游戏成绩进行记分图片:
4.6设置成绩排行榜
功能描述:
设置成绩排行榜
图片:
5.产品的非功能性需求
5.1用户界面需求
需求名称详细要求窗体界面友好人机交互,玩家可以很方便进行操作
界面扩展性玩家可以对方块的背景图进行自定义
支持声音改变背景音乐
界面颜色
5.2软硬件环境需求
需求名称详细要求
硬件要求Intel Pentium III800/AMD K7以上处理器、128M以上内存支持标准网络协议的网卡
系统平台Windows2000/WinXP/Win2003
运行环境Windows系列
5.3产品质量需求
主要质量属性详细要求
正确性消息在不同系统平台之间进行传递和显示时不会出现乱码现象
健壮性能够容纳100-200人同时在线交流,服务器端程序连续应工作半年以上可靠性应用程序异常退出及崩溃的机率小于等于5%
性能,效率用户消息发送与接收的延迟时间小于等于5秒
易用性不用安装,操作简便
清晰性—
安全性保证用户的信息在传输过程中不被窃取、不会泄漏至外网
可扩展性可在当前需求基础之上进行功能上的扩展
兼容性可运行在大多数主流的硬件环境中
可移植性可运行在Windows操作平台上
以下供大家参考,不属于需求文档一部分
项目难点突破
1、分析所给代码并画出类图
分为三个类方块类Block、砖块类Brick、方块类型BlockType,由于BlockType类型确定,这里考虑用枚举
2、二维矩阵的使用
矩阵对大家是新概念,二维矩阵采用二维数组来实现,实现起来与一维数组有所不同,具体用法可参考msdn代码案例
3、定时器的应用
在游戏初始化时设置一个定时器,定时重绘界,来根据游戏状态来判断游戏是否结束,游戏状态采用了枚举GameState来实现
4、判断方块是否“触底”,如何将方块堆叠到所触及的方块上,还有判断行是否被充满,充满后消除正行,并记录分数
5、玩家通过方向键来实现方块左右移动及旋转,主要靠触发窗体按键事件keyDown来实现
6、游戏暂停和继续的处理
7、根据玩家得分提取成绩前十名,在这里涉及到写入注册表,也是新知识点
(注意:模仿编码可以帮助大家打开思路,学习新知识,并熟练应用所学知识!请大家多多练习!)