|
*** Comparision URL: http://rumble.fervir.com/rumble/RatingDetailsComparison?game=roborumble&name1=techdude.Carruthers%201.2&name2=wiki.rrgc.CarruthersRRGC%201.2 |
Download: http://www.robocoderepository.com/BotDetail.jsp?id=3136
Source: (Depencancy's source also included in package)
package wiki.rrgc;
import robocode.*;
import techdude.core.*;
import java.util.*;
import java.awt.Color;
public class CarruthersRRGC extends techdude.Carruthers {
static wiki.rmove.RaikoNMT movementRakio;
public void initCore(){ //Override initCore for initilization of RaikoMove
if (getRoundNum()==0){movementRakio=new wiki.rmove.RaikoNMT(this);}
super.initCore();
}
public void doStuff(){ //Override doStuff to not do blackboard movement, and added basic power management.
//moveUsing(motor.doMove(me, enemy, getMovementState()));
if (getGunHeat()/getGunCoolingRate() < 3){
setTurnGunRightRadians(Joel.normalizeRelativeAngle(me.guns.targetGun(me, enemy) - getGunHeadingRadians()));
} else {
setTurnGunRightRadians(Joel.normalizeRelativeAngle(me.tracker.absoluteAngleTo(enemy.tracker) - getGunHeadingRadians()));
}
me.guns.BULLET_POWER = Math.min(Math.max(0.0, (getEnergy()-10.0)*4.0/90.0), 3.0);
//Fire Bullet
if (radarmode == 1 /*&& opt_shootgun*/ && setFireBullet(me.guns.BULLET_POWER) != null) {
//java.awt.Color $1, techdude.core.Joel$Point $2, long $3, float $4, techdude.core.RobotData $5, techdude.core.RobotData $6, java.util.Vector $7
me.waves.registerWave(new Ocean.Record(Color.GREEN, me.prevLoc, getTime()-1, (float)Joel.bulletVelocity(me.guns.BULLET_POWER), enemy, me, new Vector()), true);
}
doRadar();
}
//Override onScannedRobot to pass parameters to RaikoMove
public void onScannedRobot(ScannedRobotEvent e) {
super.onScannedRobot(e);
movementRakio.onScannedRobot(e);
}
}