我在模拟设置中有几个操作符。 操作员具有位置,目标位置,任务和一些状态信息(例如能量水平)。 模拟应执行模拟步骤并设置操作员的目标位置。 在每个模拟步骤中,操作员应移向目标位置,更新其状态信息并可能更改其任务。
现在我想知道在哪里放这些更新逻辑。
我应该使用一个操作运算符状态的服务类,还是在运算符类中放置makeSimulationStep()
方法?
一方面,第一种方法在某种程度上是贫血领域模型,但另一方面,第二种方法似乎将模拟相关任务放在操作员类中。
答案 0 :(得分:0)
这看起来更像游戏逻辑,但我会使用Operator类提供有关操作员进行模拟步骤的信息,并将此信息组合到Animation类中。
这样的事情:
while (inAnimationLoop) {
for (Operator operator : operators) {
operator.updateSimulation();
operator.drawPosition();
}
}