*** 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); } }