【问题标题】:UML Activity diagram how to show game ends when time has passed?UML活动图如何在时间过去后显示游戏结束?
【发布时间】:2017-05-16 00:33:08
【问题描述】:

20 秒过后,玩家解锁毒药。可以投下毒药来减速敌人,也可以让玩家不小心吃到自己的毒药减速。

我想显示玩家在 60 秒后获胜。我以为我会将其显示为循环 20 秒 3 次的循环,但这是不正确的,因为玩家只能解锁一次毒药。

显示这一点的最佳方式是在整个图表周围画一个矩形并仅显示状态(60 秒后,玩家获胜)吗? - 它是否会导致结束循环?

【问题讨论】:

    标签: uml activity-diagram


    【解决方案1】:

    您可以使用这样的可中断区域来显示计时器和中断,而不是轮询计时器:

    进入区域后,左侧的 20 秒计时器将在 20 秒后响起。它将继续执行任意操作(此处为 Unlock potion)。

    区域内的所有操作(虚线框)也可能遇到异常,该异常将在 60 秒后将流转移到 Timeout。如果需要,您可以混合区域外计时器不会触发的操作。

    【讨论】:

    • 有趣,我不知道定时器可以这样使用。我会应用这个谢谢。
    【解决方案2】:

    您也可以只添加获得开始时间的点,并在检查当前时间 - 开始时间 == 60 秒时添加点。

    【讨论】:

    • 成功了。我对状态图和活动图感到困惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多