1

我在模拟设置中有几个操作员。操作员具有位置、目标位置、任务和一些状态信息(例如能量水平)。模拟应执行模拟步骤并设置操作员的目标位置。在每个模拟步骤中,操作员都应该向目标位置移动,更新他的状态信息,并可能改变他的任务。

现在我想知道将这些更新逻辑放在哪里。我应该使用操作操作员状态的服务类还是makeSimulationStep()在操作员类中放置方法?一方面,第一种方法在某种程度上是一个贫乏的域模型,但另一方面,第二种方法似乎因为它将模拟相关的任务放在了操作符类中。

4

1 回答 1

0

这看起来更像是游戏逻辑,但我会使用 Operator 类来提供有关 Operator 进行模拟步骤的信息,并将这些信息组合到 Animation 类中。

像这样的东西:

while (inAnimationLoop) {    
    for (Operator operator : operators) {
        operator.updateSimulation();
        operator.drawPosition();
    }
}
于 2012-09-17T13:54:12.803 回答