package jadex.bdi.examples.marsworld.movement; import jadex.application.space.envsupport.environment.space2d.Space2D; import jadex.application.space.envsupport.math.IVector2; import jadex.application.space.envsupport.math.Vector2Int; import jadex.bdi.runtime.IGoal; import jadex.bdi.runtime.Plan; /** * Wander around randomly. */ public class RandomWalkPlan extends Plan { //-------- constructors -------- /** * Create a new plan. */ public RandomWalkPlan() { //getLogger().info("Created: "+this+" for goal "+getRootGoal()); } //-------- methods -------- /** * The plan body. */ public void body() { IVector2 dest = ((Space2D)getBeliefbase().getBelief("environment").getFact()).getRandomPosition(Vector2Int.ZERO); IGoal moveto = createGoal("move_dest"); moveto.getParameter("destination").setValue(dest); dispatchSubgoalAndWait(moveto); getLogger().info("Reached point: "+dest); } }