[Home]Starrynte/MeleeEvaluater

Robo Home | Starrynte | Changes | Preferences | AllPages

Showing revision 7
==Instructions for Use== 1. Copy the code at Melee Evaluater Code 2. Paste it into a new class called MeleeEvaluate? 3. Change the package name to the package that you'll use the evaluater in 4. Compile MeleeEvaluate? 5. Copy and paste this line of code into the bot, before run() (with the variables):
static MeleeEvaluate me;
6. Then, inside run(), but outside the infinite loop (right after public void run() ), copy and paste this code:
		if(me==null){
			me=new MeleeEvaluate(this);
		}
		Condition go=new Condition("go"){
				public boolean test(){
					return true;
				}
			};
		go.setPriority(100);
		addCustomEvent(go);
If your bot uses blocking calls, make sure this code goes before the blocking calls in run() 7. Finally, copy and paste this code right outside run() (as an event):
	public void onCustomEvent(CustomEvent e){
		me.execute();
	}
8. Compile your bot, run it in battles, and watch the console!

I've started on a "Melee Evaluater"... First, a quick question: IS IT POSSIBLE to HAVE a, say onScannedRobot, from ANOTHER CLASS that HAS an ADVANCEDROBOT which is the AdvancedRobot I'm trying to get the onScannedRobot from? In other words, when an event occurs in a robot, can another class that has an instance (if my Java terminology is correct :) ) of the robot "catch" the event? If not, then the bot will have to have "meleeeval.onHitRobot?(e)", "meleeeval.onHitByBullet?(e)", etc. which will make implementing the evaluater into bots harder... --Starrynte

Yes, you can do bot.getAllEvents?();. However, this has to be called after the execute() and some events will be ignored, eg. those with a priority of 100. You have to create an event that has a priority of 99 and put the event distribution code in there. -- Skilgannon


Robo Home | Starrynte | Changes | Preferences | AllPages
Edit revision 7 of this page | View other revisions | View current revision
Edited February 18, 2008 23:06 EST by Starrynte (diff)
Search: