信息管理系统需求文档模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
俄罗斯方块游戏
——项目需求分析说明杰普物联网研发中心
第一部分引言
1.1编写目的
本规格说明书描述了俄罗斯方块游戏的项目需求,作为系统实现目标,系统设计及验收的依据。通过该需求分析,描述用户的具体需求,定义需求的规格和内容,并且作为各方面沟通的依据,也为下一步工作提供基准。
软件开发小组的每一位成员应该阅读本需求说明,以明确项目最后要求完成的软件产品的特点,经使用方认可的需求说明将作为产品特点的评价、仲裁的重要参考。
1.2适用范围
本文档主要涉及俄罗斯方块游戏的应用模型和功能信息描述。
1.3背景
A 软件名称:俄罗斯方块游戏
B 任务提出者:邵永波
开发者:叶佳良,左杉,王磊,张荷,靳国栋
C 本游戏是独立的软件,暂不与其他的软件和系统提供接口,所产生的输出也是独立的。
D 本游戏将部署在操作系统下。
E 本游戏将采用高级编程语言进行开发,要求程序代码符合相应的书写规范。
F 本系统的最终表现形式要求图形用户界面,使用终端命令行界面即可。
1.4 术语、定义和缩写
定义:俄罗斯方块游戏是采用编程语言进行实现,最终为客户提供一个交互性良好,功能全面,能够完全进行键盘控制,计分功能,等级提升并提速暂停功能。
1.5文档概述
本文档主要描述了俄罗斯方块游戏的功能需求以及其他非功能需求。
1.6参考资料
相关文件如下:
A 杰普软件嵌入式软件课程体系标准及培训计划
B 《系统开发规范与文档编写》
C 《软件工程》
D 国家标准软件需求说明书《856T——88》
第二部分任务概述
2.1目标
俄罗斯方块游戏将用语言编程实现,最终为客户提供一个部署在环境下的字符界面的可控制的游戏软件,提供娱乐功能。总体而言,系统实现的主要目标包括:
a 打印启动界面
b 启动游戏
c 打印方块
d 边界检测
e 键盘控制
f 碰撞检测
g 消行处理
h 分数和等级
i 暂停和游戏结束
2.2软件特点
俄罗斯方块游戏是一个经典的趣味游戏软件,可以记录用户的键盘操作,并由此控制界面图像移动和变化,界面简洁明了一目了然。游戏采用高级语言模块化编程,为将来的二次开发和后期程序的移植与维护提供了很大的便利。游戏将具有良好的系统使用稳定性和对用户友好的交互设计,使客户有良好的用户体验。
2.3假定和约束
设计和实现上的假定:
A 游戏基于编程语言开发
B 游戏基于结构
C 游戏采用模块化编程
D 游戏开发和部署都基于操作系统
E 游戏通过监听键盘控制
第三部分需求规定
3.1软件功能规定
3.1.1游戏启动
游戏启动时,主要清空当前界面,并打印初始的游戏图形界面
3.1.2 启动游戏
在初始游戏界面上按任意键来启动游戏
3.1.3打印方块
游戏启动后,在游戏界面顶端固定位置出现随机颜色和随机形状的方块。
3.1.4 边界控制
方块的移动和变形不能超出边界
3.1.5 键盘控制
通过键盘可以控制方块进行移动和变形,或者游戏的暂停和退出功能。
3.1.6 碰撞检测
方块与方块之间不能产生叠加的部分,向下移动产生碰撞后
方块停止运动。
3.1.7消行处理
当某一行或者某几行行满了之后要消除这些行,并将上面的内容整体下移。
3.1.8分数和等级
当消除一行或几行后得到一定的分数,当达到一定分数后提升等级,等级提升后方块下落速度也会提升。
3.1.9 暂停和结束游戏
按下暂停键后,游戏暂停,再次按键后恢复游戏,当游戏窗体最顶行填有方块时游戏结束。
3.2 软件功能概述
3.2.1游戏启动
a)清屏
清除屏幕内容,为打印游戏窗体做准备
b)打印游戏窗体
通过输出语句打印出整体的游戏窗体。
c)窗体组成
游戏执行的主窗体,预览窗和分数等级窗。
3.2.2 启动游戏
a)按任意键启动
当按下键盘上的任意按键后游戏开始执行。
b)按下的键不显示
按下的键不会在屏幕上显示,也不会显示光标闪烁
3.2.3 打印方块
a)初始方块
初始方块出现在界面顶端的中部,为随机的颜色和形状
b)预览方块
预览方块为在预览窗口中部,为下一个将会出现的方块
c)方块种类
方块共有7种,分别为:I型,T型,L型,反L型,Z型,
反Z型和田型。
3.2.4 边界控制
a)移动时边界控制
方块移动后不能超出或覆盖下边界和左右边界
b)方块变形时边界控制
方块再靠近边界变形后不能超出或覆盖下边界和左右边
界
3.2.5 键盘控制
a) 上键变形
b) 左键左移
c) 右键右移
d) 下键加速下落
e) 回车直接落底
f) 空格暂停
g) q\Q退出
3.2.6 碰撞检测
a) 棋盘数组
设置棋盘数组来保存已经固定的方块位置
c)碰撞检测
通过扫描变化后的方块与已经固定的方块是否会产生重
叠部分来检测碰撞
3.2.7 消行处理
a) 判断是否有行满
通过对棋盘数组的扫描来判断是否有满行,如有满行,返