**小组成员:**游添予、吴梦堉、董晨
**版本号:**1.0
**修订日期:**2020.7.11
修订记录:
版本号 | 修订人 | 日期 | 描述 |
---|---|---|---|
1.0 | 董晨 | 2020.7.11 | 创建文档 |
基本信息
目录
-
引言
1.1 项目背景
1.2 参考资料
1.3 假定和约束
1.4 用户特点
-
功能需求
2.1 界面相关
2.2 人物相关
2.2.1 人物属性
2.2.2 人物动作
2.3 功能相关
2.3.1 道具
2.3.2 战斗
2.3.3 交易系统
2.4 音乐音效相关
-
非功能需求
3.1 合理性需求
3.2 美观性需求
-
运行环境
4.1 硬件设备
4.2 软件支持
#### 1.1 项目背景
本项目旨在实现一款经典策略RPG游戏《魔塔》。游戏具有复杂的系统和属性,例如攻击、防御、生命、金币、经验等,任何一个轻率的选择都可能导致游戏的失败。
本项目将分为5个阶段完成。各阶段工作如下。
第一轮迭代:设计整体MVVM架构;设计公用的数据结构,用于模块间传值。
第二轮迭代:每个人负责Model、View、ViewModel模块中的一个,在各自的分支上进行开发,并进行单元测试。要求完成玩家状态(血量、攻击力等)和持有道具的显示、地图的显示和人物移动的交互(包括遇敌、开门、捡起道具、上下楼层)。
第三轮迭代:每个人负责Model、View、ViewModel模块中的一个,在各自的分支上进行开发,并进行单元测试。要求完成特殊道具和npc的交互(包括显示怪物属性的道具、快速上下楼层的道具、用金币买属性的商人等)。
第四轮迭代:添加背景音乐,增加存档功能(可能需要连接数据库)。
第五轮迭代:整体测试,优化并修补漏洞。
本项目由ZJU课程综合实践ⅡC++项目管理和工程实践魔塔小组开发。
#### 1.2 参考资料
-
SJDXQcourseware(短学期教学资料),https://github.com/Zhejiang-University-GKC/SJDXQcourseware
+ MagicTowerTHU-MagicTower,https://github.com/MagicTowerTHU/MagicTower
+ 使用C++语言开发 + 使用Qt作为应用程序开发框架,开发GUI程序 + 单机桌面版,不要求C/S,B/S架构。有GUI界面,并能通过界面完成一系列操作
本项目作为《C++项目管理和工程实践》课程的实验项目,其面向的用户主要是课程相关人员。
- 实现游戏窗口显示更新
- 实现地图界面、道具界面和人物属性界面显示与更新
##### 2.2.1 人物属性
属性名 | 初始值 |
---|---|
生命 | |
攻击 | |
防御 | |
经验 | |
金钱 |
##### 2.2.2 人物动作
实现任务的移动、拾取、碰撞、解锁、切换楼层、战斗等。
##### 2.3.1 道具
- 不同颜色的钥匙可以解锁对应颜色的门
- 剑可以增加攻击力、盾可以增加防御力
- 显示怪物属性的道具
- 快速上下楼层的道具
##### 2.3.2 战斗
实现与怪物的战斗,伤害计算为“攻击-防御”。
##### 2.3.3 交易系统
与商人交互,可以用金币购买属性。
实现播放音乐、音效。
地图设计合理,解密方面可以通过,难度适中。
界面美观、图片清晰、音乐音效有合理音质。