/** WARBOT @version 2.0 @author Fabien MICHEL 19/06/01 00:42*/ package warbot.demo; import warbot.kernel.*; public class Ant extends Brain { boolean goalReached=false; public Ant(){ } public void activate() { randomHeading(); println("I am an ant like robot"); println("I am heading " + getHeading()); } public void doIt() { if(! isMoving()) { randomHeading(); move(); return; //exit doIt to avoid doing something else } if(isMyBagFull()) goalReached=true; if(isMyBagEmpty()) goalReached=false; if(goalReached) { drop(0); return; } Percept[] percepts = getPercepts(); int min = 0; for(int i=0;i< percepts.length;i++) { if (distanceTo(percepts[i]) <= distanceTo(percepts[min]) && percepts[i].getPerceptType().equals("Food")) min=i; } if(percepts.length > 0 && percepts[min].getPerceptType().equals("Food")) if(distanceTo(percepts[min]) < 2) { if(Math.random()<.5) eat((Food)percepts[min]); else take((Food)percepts[min]); return; } else { setHeading(towards(percepts[min].getX(),percepts[min].getY())); move(); return; } move(); } }