|
|
|
@ -0,0 +1,79 @@
|
|
|
|
|
用例名:道具使用
|
|
|
|
|
执行者:玩家
|
|
|
|
|
目标:将玩家装备的道具效果提交到属性面板上
|
|
|
|
|
前置条件:
|
|
|
|
|
玩家拥有至少一件道具
|
|
|
|
|
玩家处于可以与道具交互的状态(例如,非战斗状态)
|
|
|
|
|
后置条件:
|
|
|
|
|
道具使用后,其效果将被应用
|
|
|
|
|
玩家的状态可能因道具效果而改变
|
|
|
|
|
主要场景:
|
|
|
|
|
玩家选择一个道具。
|
|
|
|
|
玩家点击或选择“使用”选项。
|
|
|
|
|
游戏判断玩家是否满足使用该道具的条件(例如,是否在战斗中,道具是否为可消耗等)。
|
|
|
|
|
如果满足条件,游戏将执行道具效果,并在界面上显示相关信息。
|
|
|
|
|
如果道具具有持续效果,游戏将在一段时间内保持这些效果。
|
|
|
|
|
如果道具为一次性消耗品,使用后将消失。
|
|
|
|
|
玩家可以查看道具使用后的效果和状态变化。
|
|
|
|
|
交互动作:
|
|
|
|
|
(1)玩家遇到特殊情况后下达命令cmd.c并apply.c执行来选择使用道具。
|
|
|
|
|
(2)装备道具后根据更新后属性面板看能否解决当前问题。
|
|
|
|
|
(3)如果能解决则根据宝物使用更新内存分配alloc.c并记录时间date.c参数;如果不能解决,则继续试用其他宝物。
|
|
|
|
|
|
|
|
|
|
用例交互图
|
|
|
|
|
| 玩家
|
|
|
|
|
| +---------------+ +--------------+ +-------------+ +-----------+ +-----------+
|
|
|
|
|
| | 选择道具 |---------->| 判断条件 |---------->| 显示效果 |---------->| 更新状态 |---------->| 更新UI |---------->| 反馈 |
|
|
|
|
|
| +---------------+ +--------------+ +-------------+ +-----------+ +-----------+
|
|
|
|
|
| | 游戏系统
|
|
|
|
|
| +---------------+ +--------------+ +-------------+ +-----------+ +-----------+
|
|
|
|
|
|| 触发条件 |---------->| 验证玩家 |---------->| 获取道具信息|---------->| 执行效果|---------->| 更新UI |---------->| 返回结果 |
|
|
|
|
|
| +---------------+ +--------------+ +-------------+ +-----------+ +-----------+
|
|
|
|
|
函数的自然语言描述
|
|
|
|
|
alloc.c
|
|
|
|
|
描述:处理游戏中的内存分配。
|
|
|
|
|
用例:当游戏需要创建新对象或数据结构时,会使用此模块中的函数来分配所需的内存。
|
|
|
|
|
apply.c
|
|
|
|
|
描述:处理各种应用的逻辑。
|
|
|
|
|
用例:当玩家对其他对象(例如对一个门应用钥匙)或自己应用药物时,相关的逻辑会被处理。
|
|
|
|
|
artifact.c
|
|
|
|
|
描述:处理神器(Artifact)相关的逻辑。
|
|
|
|
|
用例:玩家可能会找到神器,并尝试使用它们或与之互动。此模块处理这些交互的逻辑。
|
|
|
|
|
attrib.c
|
|
|
|
|
描述:处理属性相关的逻辑。
|
|
|
|
|
用例:玩家或敌人可能有各种属性,如攻击力、防御力、速度等。此模块处理这些属性的逻辑。
|
|
|
|
|
ball.c
|
|
|
|
|
描述:处理魔法球(Ball)相关的逻辑。
|
|
|
|
|
用例:魔法球是游戏中的一个对象,玩家可以捡起并使用它。此模块处理与魔法球相关的所有逻辑。
|
|
|
|
|
bones.c
|
|
|
|
|
描述:处理骨头(Bones)相关的逻辑。
|
|
|
|
|
用例:骨头是游戏中一种特殊的对象,当玩家死亡后可能会留下。此模块处理与骨头相关的所有逻辑。
|
|
|
|
|
botl.c
|
|
|
|
|
描述:处理宝物(Treasure)相关的逻辑。
|
|
|
|
|
用例:玩家在游戏中可能会找到各种宝物,如金币、宝石等。此模块处理与这些宝物相关的所有逻辑。
|
|
|
|
|
cmd.c
|
|
|
|
|
描述:处理命令相关的逻辑。
|
|
|
|
|
用例:玩家在游戏中会发出各种命令,如移动、攻击、使用物品等。此模块处理这些命令的逻辑。
|
|
|
|
|
date.c
|
|
|
|
|
描述:处理日期和时间相关的逻辑。
|
|
|
|
|
用例:游戏世界有一个时间流逝的机制,此模块处理与时间流逝、日期等相关的逻辑。
|
|
|
|
|
dbridge.c
|
|
|
|
|
描述:处理桥(Bridge)相关的逻辑。
|
|
|
|
|
用例:桥是游戏中一种特殊的对象或地形,玩家可能需要跨过或与之互动。此模块处理与桥相关的所有逻辑。
|
|
|
|
|
|
|
|
|
|
各个函数的分类属性以及相关的简单逻辑关系如下:
|
|
|
|
|
玩家-》通过命令cmd.c再由apply.c来执行
|
|
|
|
|
|
|
|
|
|
系统运行-》
|
|
|
|
|
内存分配alloc.c
|
|
|
|
|
时间date.c
|
|
|
|
|
|
|
|
|
|
显示面板-》
|
|
|
|
|
属性面板attrib.c
|
|
|
|
|
|
|
|
|
|
道具-》
|
|
|
|
|
(桥dbridge.c
|
|
|
|
|
宝物botl.c
|
|
|
|
|
骨头bones.c
|
|
|
|
|
魔法球ball.c
|
|
|
|
|
神器artifact.c)
|