package db; import robocode.*; import java.awt.Color; /**
* Rebot - a robot by (Darrel) */public class Rebot extends TeamRobot {
Brains Logic = new Brains(this); public void run() { setColors(Color.black,Color.red,Color.orange); while(true) { turnRadarRight?(360); ahead(200); } } public void onScannedRobot(ScannedRobotEvent e) { Logic.onScannedRobot(e); } public void onHitByBullet?(HitByBulletEvent? e) { Logic.onHitByBullet?(e); } public void onHitWall?(HitWallEvent? e) { Logic.onHitWall?(e); } public void onHitRobot?(HitRobotEvent? e) { Logic.onHitRobot?(e); }}
Here is the brains class
package db; import robocode.*;
/**
* Brains - a class by (Darrel) */public class Brains {
Robot caller; public Brains(Robot robot) { caller = robot; } public void onScannedRobot(ScannedRobotEvent e) { caller.turnGunRight?(e.getBearing()); if (e.getDistance()>100) caller.fire(2); else caller.fire(3); caller.scan(); caller.turnGunLeft?(e.getBearing()); }
public void onHitByBullet?(HitByBulletEvent? e) { caller.turnRight(e.getBearing()+45); caller.ahead(100); caller.scan(); }
public void onHitWall?(HitWallEvent? e) { caller.turnRight(e.getBearing()+180); }
public void onHitRobot?(HitRobotEvent? e) { caller.turnGunRight?(e.getBearing()); for (double energy = e.getEnergy() ; energy > 0 ; energy = energy - 12) caller.fire(3); caller.turnGunLeft?(e.getBearing()); }} The Brains class should be way more simple, I admit, but here it is for right now.