团队名称:超级鸡马

成员:

身份 姓名 分工
组长 邱志明  主程序设计
组员 吴钧诚  界面设计
组员 李承哲  陷阱设计
组员 冯英炽  客户,参与测试和需求分析工作
组员 林裕权  素材确定

修订记录:

时间 版本 作者 说明
2019/11/12 ver0.1 冯英炽 创建需求规格说明
2019/11/17 ver0.2 吴钧诚 补充功能框图

小组成员在本次迭代中的贡献:

成员 贡献 贡献度
冯英炽 完成需求规格说明书、搭建博客网站、完成ppt、负责展示环节 20%
吴钧诚  完成界面设计初稿、辅助完成需求规格说明书 20%
林裕权  完成基本的任务素材和一部分场景素材 20%
李承哲  完成陷阱设计初稿 20%
邱志明  完成基本角色操作 20%

1. 引言

1.1 目的

该文档首先给出项目的整体结构和功能结构概貌,试图从总体架构上给出整个系统的轮廓。同时对功能需求、性能需求进行了详细的描述。便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。

本文档面向多种读者对象:

  1. 项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。

  2. 设计员:对需求进行分析,并设计出系统,包括数据库的设计。

  3. 测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。

  4. 用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。

    在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。

1.2 背景

本次待开发的软件为超级鸡马。

当前的闯关类游戏普遍都是玩家们互帮互助一起闯关过于单调,超级鸡马是一款玩家与玩家之间互相竞争的闯关游戏,玩家们可以在地图上设置陷阱

用户通过使用该软件在windows平台的终端进行游戏。

1.3 定义

序号 缩写 定义
1 Unity Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
2 Visual Studio  Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。

2.项目概述

2.1 产品描述

超级鸡马是一款玩家不断制造陷阱来妨碍对手到达终点的互动游戏,游戏中您将扮演小鸡、小马、绵羊、浣熊这几种动物之一。其中的关卡由您和好友一道设置。若您闯关成功而好友却未能通关,那么您将得分!无论是联机还是单机游戏,都能和您的动物朋友们一起挑战不同地点的各种关卡,与好友共同寻找开心玩乐的新方式。

2.2 产品功能

提供亲朋好友聚会休闲的一个娱乐手段,能够促进人际关系,放松心情。用户可以根据自己的需要,从两种模式中选择自己喜欢的模式进行游戏。

用户场景:过年了,大人多在打麻将,年龄稍大的孩子或家长需要帮忙照顾孩子们,于是他们想找到一个可以吸引孩子们的有趣的游戏。

超级鸡马(仿)的解决方式:

大家一起玩游戏吧!

游戏能够有效吸引孩子的注意力,而超级鸡马作为一款优质的游戏,还能够提高孩子的思考能力、手眼协调能力,有效拉近孩子间的距离。同时由于每局游戏时长不长,适合孩子轮流玩,能够培养孩子们分享的意识,树立良好的游戏观念和胜负观。

2.3 用户特点

本软件的最终用户为拥有亲朋好友的人类,该用户特点为喜欢朋友聚会,亲子互动,对游戏有正确的理解和认知。

操作人员及维护人员为在校学子,了解该工作的整体流程,深入用户交流,便于调整软件功能,实现客户需求。

2.4 一般约束

进行本软件开发工作的约束条件如下:

  1. 开发周期短:8周的开发时间需要开发者合理规划时间,做到多项任务并发。

  2. 开发游戏使用Unity游戏引擎与Visual Studio软件进行开发。
  3. 所采用的方法与技术有限:项目团队成员的技术水平不够成熟,大家对unity几乎都是第一次接触需要在开发中并发学习多种技术和能力。

2.5 假设与依据

本项目是否能够成功实施,主要取决于以下的条件:

  1. 团队成员的积极合作配合,为了项目的开发和实施,对个人时间进行合理规划同时为团队做出合理牺牲,配合队友完成任务。

  2. 学院教师提供完整详细的功能和性能需求资料,以便于团队对其进行分析,从而形成完善的软件需求。

  3. 团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。

3. 具体需求

首先引入功能框图明确该项目中的角色分类及其角色间的相互联系。

3.1 功能需求

3.1.1 功能实现

数据结构:

int Player = 0;//两个角色,player1及player2

int state=0;//角色状态,站立,蹲下,冲刺,跳跃,攀墙

int a, b;//地图坐标;

int direction;//角色方向

int maps[a];//地图的照片

int stand[8];//4个角色的站立照片(两个方向)

int squatdown[8];//4个角色的蹲下照片(两个方向)

int sprint[8];//4个角色的冲刺照片(两个方向)

int tool[x];//存放陷阱的工具栏的照片(4个陷阱)

int trap[16];//4个陷阱的照片(4个方向)

功能函数包括:
       Void map()//加载地图的图片

Void character()//通过鼠标选择判断,加载角色的图片

Void left() //通过键盘输入判断,加载角色左移图片

Void right()//通过键盘输入判断,加载人物右移图片

Void jump()//通过键盘输入判断,加载人物跳跃图片

Void squatdown();//通过键盘输入判断,加载人物跳跃图片

Void sprint();//通过键盘输入判断,加载人物冲刺图片

Void tool();//加载陷阱工具栏图片

Void trap();//通过鼠标选择判断,加载陷阱图片

3.1.2 系统角色

玩家可选择四种角色:小马、小鸡、绵羊、浣熊。

  1. 选择角色界面

用户打开软件,点击开始,进入界面移动鼠标点击左键选择角色。

  1. 用户2选择角色

    用户1角色选择完毕后,此时操控光标选择用户2的角色。

3.1.3 选择关卡

玩家选择完角色后操控光标到地图上点击左键选择关卡

3.1.4 陷阱设置

1.按照用户刚才选择角色的顺序依次设置陷阱,用户设置陷阱时操控鼠标从左侧道具库点击鼠标左键挑选陷阱。

2.玩家挑选陷阱后操控鼠标奖陷阱移动到想要设置的位置上

3.1.5 游戏

1.每个玩家设置好陷阱后即可开始游戏,两位玩家通过键盘输入对角色进行操控,当    两位玩家均抵达终点或者两位玩家中途死亡时,本回合结束,弹出回合分数统计画面。

2.回合结算时,弹出回合分数统计画面,此时会对通关的玩家进行加分,没有通关的玩家则不予加分

3.此时进入下一回合,玩家们可在原有陷阱基础上再次对陷阱进行设置

4.最后由得分最多的玩家获胜

4. 验收验证标准

测试功能 测试项 输入/操作 检验点 预期结果 验收情况
角色控制 跳跃高度 长按/短按跳跃键   跳跃高度随着按键时间长短  
角色控制 攀墙 在垂直墙体边按住方向键   角色沿着墙体缓慢下滑  
角色控制 攀墙跳 在攀墙状态下跳跃   角色向墙体反方向的斜上方跳跃  
角色控制 加速  左shift   角色移动速度加快  
界面选择 初始界面 点击左键   进入选择模式界面  
界面选择 选择模式界面 鼠标点击选择界面   进入选择角色界面  
界面选择 选择角色界面 鼠标点击选择角色   能够成功选择角色,进入选择地图界面  
界面选择 选择地图界面 鼠标点击选择地图   能够成功选择地图,游戏开始  
游戏控制 陷阱选择界面 回合开始阶段自动跳出,鼠标点击选择陷阱   能够成功选择陷阱  
游戏控制 陷阱放置界面 q、e旋转陷阱,鼠标点击放置陷阱   能够旋转陷阱,能够在合适的地方放入陷阱,若不能放入给出提示  
游戏控制 陷阱功能     陷阱能正常工作,物体碰撞设置正确  
游戏控制 计分功能     每回合结束阶段统计玩家得分并显示计分板  
游戏控制 结束功能     游戏结束后显示赢家,提供跳转选项  
游戏控制 中途菜单功能 esc唤出菜单,鼠标点击选择功能   能否实现结束游戏、返回标题等跳转功能  

Ultimate Chicken Horse GameProject需求规格报告书的更多相关文章

  1. Ultimate Chicken Horse GameProject第三次迭代成果文档

    经过三次迭代我们实现了游戏的基本功能 项目文档的github链接:https://github.com/k6tok12355/Ultimate-Chicken-Horse 下面是我们在第一次迭代中设定 ...

  2. Ultimate Chicken Horse GameProject第二次迭代成果文档

    基于上一次的迭代中的数据结构我们补充了UML图.用例图及状态图. 用例图:           选择游戏地图:玩家可以在本地游戏界面将角色移动到地图门口并按下E进入地图. 进行游戏用例: 选择并摆放道 ...

  3. 基于 Java Web 的毕业设计选题管理平台--选题报告与需求规格说明书

    一.选题报告 目录 团队名称 团队成员 项目名称 项目描述 创新与收益 用户场景分析 真实用户调研 未来市场与竞争 项目导图 比例权重 总结 1.团队名称--指南者团队 2.团队成员 孔潭活:2015 ...

  4. 需求规格说明书(SRS)特点

    需求说明书的7大特征: 完整性 正确性 可行性 必要性 划分优先级 无二义性 可验证性 每条需求规格说明书的4大特点: 完整性 一致性 可修改性 可跟踪性 需求管理就是一种获取.组织并记录系统需求的系 ...

  5. 天转凉了,注意保暖,好吗(需求规格说明书放在github了)

    团队项目——AI五子棋(小程序) 一.团队展示: 队名:未来的将来的明天在那里等你 小组 队员: 龙天尧(队长)(3116005190),林毓植(3116005188),黄晖朝(3116005178) ...

  6. 【软件需求工程与建模 - 小组项目】第6周 - 成果展示2 - 软件需求规格说明书V4.3

    成果展示2 - 软件需求规格说明书V4.3

  7. 【项目 · Wonderland】需求规格说明书 · 终版

    [项目 · Wonderland]需求规格说明书 · 终版 Part 0 · 简 要 目 录 Part 1 · 流 程 / 分 工 Part 2 · 需 求 规 格 说 明 书 Part 1 · 流 ...

  8. 失物找寻APP软件需求规格说明书——第三次团队作业

    ⭐对于软件需求规格说明书的理解 在没写这份软件需求规格说明书的时候我们组成员都不是很理解它的必要性,当然,写完之后才知道它的作用. 软件需求说明书的存在是为了使用户和软件开发者双方对该软件的初始规定有 ...

  9. 需求规格说明书——阿里八八“好记”APP

    工作流程 ① 组长查阅相关文档.示例文件等,根据本小组项目特点进行定制需求规格说明书目录. ② 根据选题报告工作进行任务分配,追求工作量最小化.效率最大化. ③ 分工编辑文档. ④ 组长搭建Githu ...

随机推荐

  1. 【转】np.random.random()函数 参数用法以及numpy.random系列函数大全

    转自:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.random((1000, 20) ...

  2. 第04组 Alpha冲刺(5/6)

    队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习了一下SuffixAutomata 接下来的计划 实现 ...

  3. 探索 ASP.Net Core 3.0系列三:ASP.Net Core 3.0中的Service provider validation

    前言:在本文中,我将描述ASP.NET Core 3.0中新的“validate on build”功能. 这可以用来检测您的DI service provider是否配置错误. 具体而言,该功能可检 ...

  4. 漫谈微服务架构:什么是Spring Cloud,为何要选择Spring Cloud

        Spring Cloud是基于Spring Boot的,因此还在使用SpringMVC的同学要先了解Spring Boot.先上一段官话,Spring Cloud是一个基于Spring Boo ...

  5. python 自定义Iterator对象

    from collections.abc import Iterator class Company(object): def __init__(self, employee_list): self. ...

  6. [转]WPF入门教程系列

    转载自:https://www.cnblogs.com/chillsrc/category/684419.html 谢谢浏览!

  7. dedecms用runphp功能,写for循环,@me输出不出来

    今天在{dede:field name='typeid' runphp='yes'}中写for循环,出现@me输出不了内容,把for循环删掉之后,就可以输出.死了几十万脑细胞,没有解决,后来把循环 f ...

  8. 整理:VS常用快捷键

    F1-F12 F1 帮助 F3: 查找下一个 Shift+F3: 查找上一个 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift+F5: 停止调试 Ctrl+Shift+F5: 重启调 ...

  9. web前端-js

    1. js基础语法 声明变量 var a = 10; 查看变量类型 typeof a; 打印,测试语句 alert(a); #使用弹出框显示 console.log(a);    #使用console ...

  10. WinRAR命令行版本 rar.exe使用详解(适用Linux)

    RAR 命令行语法: RAR.exe <命令> [ -<开关> ] <压缩文件> [ <@列表文件...> ] [ <文件...> ] [ ...