我正试图让智能代理右转3次。由于您无法返回多个对象,如何连续3次调用this.buildPhysicalAction(TurnRightAction.class)
?
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);
}
}
}
答案 0 :(得分:0)
这基本上是一种设计选择。 一种方法可以是定义类:TurnRightAction,TurnRight 两次动作和TurnRight Thrice 动作,并在需要转一次,两次或三次时分别调用它们。
另一个选择是你已经在做什么,调用TurnRightAction需要采取行动的次数。