jadex.bdi.examples.marsworld.movement.RandomWalkPlan Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jadex-applications-bdi Show documentation
Show all versions of jadex-applications-bdi Show documentation
The Jadex BDI applications package contain
several example applications, benchmarks and
testcases using BDI agents.
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);
}
}