我正在尝试让智能智能体右转3次。既然不能返回多个对象,怎么能连续调用this.buildPhysicalAction(TurnRightAction.class) 3次呢?
public class VacuumWorldExplorerMind extends VacuumWorldDefaultMind {
@Override
public EnvironmentalAction decide(Object... parameters) {
PerceiveAction range = new PerceiveAction();
VacuumWorldCoordinates currentLocation;
this.buildPhysicalAction(TurnRightAction.class);
this.buildPhysicalAction(TurnRightAction.class);
this.buildPhysicalAction(TurnRightAction.class);
while (true) {
// if perceive range-checkForWall == 1
// turn left
// count steps made = stepsMade
if (range.getPerceptionRange() == 1) {
return this.buildPhysicalAction(TurnLeftAction.class);
}
return this.buildPhysicalAction(MoveAction.class);
}
}
}发布于 2016-11-22 21:05:00
这基本上是一种设计选择。一种方法是定义如下类: TurnRightTwiceAction和TurnRightThriceAction,并在需要转一次、两次或三次时分别调用它们。
另一种选择是您已经在做的事情,调用TurnRightAction操作所需的次数。
https://stackoverflow.com/questions/40742460
复制相似问题