0

1) 极端情况:我有 10 个状态和 10 个可能的动作要执行(导致状态转换)。但是这些动作中的每一个都只允许在它们的特定状态下进行。状态 1 只能执行动作 1,状态 2 动作 2,依此类推(仅向前的简单图)

2)相反的情况:我有 10 个状态和 10 个可能的动作来执行,每个状态都允许它们中的每一个。其中一些在几个州中的行为完全相同,一些在每个州的行为完全相同,而另一些在每个州的工作方式不同(如策略)

我提出了两种极端情况。我想对该怎么做发表意见。组合模式也会很好。

4

1 回答 1

0

将状态视为简单游戏中的阶段。你有一个标题状态、菜单状态(加上任何从主菜单状态继承的子菜单)、实际的游戏状态,也许还有一个信用状态。这些单独的状态中的每一个都有自己的功能和目的,并且它们不是共享的,否则为什么它需要自己的状态呢?

如果你有在状态之间共享的功能,你应该研究某种继承。在我的示例中,这将涉及创建一个基本菜单状态,然后为从基本菜单状态继承的每个菜单(主菜单、选项菜单、图形菜单、音频菜单等)创建一个单独的菜单状态。通过这种方式,您允许在状态之间共享部分/全部功能,因为各个状态的目的非常相似。

这有帮助吗?除非您提供有关您要完成的工作的更具体细节,否则我觉得我无法回答您的实际问题。

于 2013-08-07T12:54:58.460 回答