SuperTracker
Jump to navigation
Jump to search
SuperTracker is a part of the Super Sample Bots set by CrazyBassoonist. It is intended to provide new robocoders with a new challenge after beating all of the sample robots.
Movement
SuperTracker moves close to an enemy, then circles them perpendicularly.
Targeting
SuperTracker uses a reduced linear gun for targeting.
Code
package supersample;
/**
* SuperTracker - a Super Sample Robot by CrazyBassoonist based on the robot Tracker by Mathew Nelson and maintained by Flemming N. Larsen
* <p/>
* Locks onto a robot, moves close, fires when close.
*/
public class SuperTracker extends AdvancedRobot {
int moveDirection=1;//which way to move
/**
* run: Tracker's main run function
*/
public void run() {
setAdjustRadarForRobotTurn(true);//keep the radar still while we turn
setBodyColor(new Color(128, 128, 50));
setGunColor(new Color(50, 50, 20));
setRadarColor(new Color(200, 200, 70));
setScanColor(Color.white);
setBulletColor(Color.blue);
setAdjustGunForRobotTurn(true); // Keep the gun still when we turn
turnRadarRightRadians(Double.POSITIVE_INFINITY);//keep turning radar right
}
/**
* onScannedRobot: Here's the good stuff
*/
public void onScannedRobot(ScannedRobotEvent e) {
setMaxVelocity((12*Math.random())+12);//randomly change speed
}
if (e.getDistance() > 150) {//if distance is greater than 150
Fire(5);//fire
}
}
}
public void onHitWall(HitWallEvent e){
moveDirection=-moveDirection;//reverse direction upon hitting a wall
}
/**
* onWin: Do a victory dance
*/
public void onWin(WinEvent e) {
for (int i = 0; i < 50; i++) {
turnRight(30);
turnLeft(30);
}
}
}