/** WARBOT @version 2.0 @author Fabien MICHEL 19/06/01 00:42*/ package warbot.demo; import warbot.kernel.*; public class HomeKiller extends Brain { String groupName="warbot-"; String roleName="launcher"; public HomeKiller(){} public void activate() { groupName=groupName+getTeam(); randomHeading(); println("I am a home killer robot"); createGroup(false,groupName,null,null); requestRole(groupName,roleName,null); requestRole(groupName,"mobile",null); } int waitingForRocket = 0; int waitingMax=3; void decrWaitingForRocket(){ waitingForRocket--; if (waitingForRocket<0) waitingForRocket=0; } public void doIt() { decrWaitingForRocket(); //if (this.getMessageBoxSize()>0) // println(":: received "+this.getMessageBoxSize()+" messages"); if(!isMoving()) randomHeading(); Percept[] detectedEntities=getPercepts(); if (detectedEntities.length>0){ for(int i=0;i 0 && detectedEntities[min].getPerceptType().equals("Food")){ if(distanceTo(detectedEntities[min]) < 2) { eat((Food)detectedEntities[min]); return; } else { setHeading(towards(detectedEntities[min].getX(),detectedEntities[min].getY())); move(); return; } } //println("reading my messages"); WarbotMessage m=null; WarbotMessage lastMessage=null; while((m = readMessage())!= null){ lastMessage=m; } if (lastMessage != null){ String act = lastMessage.getAct(); if (act.equals("homeposition")){ double xpos = Double.parseDouble(lastMessage.getArg1()); double ypos = Double.parseDouble(lastMessage.getArg2()); //println("go to the enemy home: "+xpos+", "+ypos); setHeading(towardsAbsolute(xpos,ypos)); } } move(); } }