package bayen;
import robocode.*;
import java.awt.Color;
import java.util.*;
import java.awt.geom.*;
/**
* _________ .__ .__
* / _____/ ________ __|__|_____________ ____ | |
* \_____ \ / ____/ | \ \_ __ \_ __ \_/ __ \| |
* / < <_| | | / || | \/| | \/\ ___/| |__
* /_______ /\__ |____/|__||__| |__| \___ >____/
* \/ |__| \/
* ii....;;..iiii..
* ffLLffGGffLLff..
* iiGGLLffLLffLLffffttii..
* ..ttffjjttiiiiiittttLLLLtt
* ttGGttttii;;;;;;;;;;;;ttLLLL..
* ..LLttiiii,,..........;;;;ttfftt
* ttttii;;;;;;......;;::;;;;iiLLLL
* .. ..ii;;;;;;;;;;::;;iiiiiiii;;iiffDDii
* ..iittiitt;;iitttt;;;;;;;;;;LLttttLLLLttttttGGff
* iiiittiitt;;;;ffii....;;;;ff.. ..ffLLGGLLDDtt
* ;;ttiiii;;tt;;ttii::..;;;;LL,, ;;DDDDEE;;
* ttiiiiiittttii;;ff;;......jjii LLKKGG
* ;;LLiiffLLiitt,,LL;;;;....;;iiff.. ;;DDjj
* ;;ffttiiiiLLtt;;LL;;,,......;;iiGG;; ff..
* iiffttKK##LL;;iiffjj;;....::;;ttjjtt.. ;;
* ttff##WWffii....;;LL;;......iiLLGGii
* ..iiKKLLLLGGii......tttt;;......iijjtt
* ;;iiffLLLLttjjtt..;;..,,ttii......;;iiff
* ffffffLLLLtt..ttiiffttii;;tt,,......;;LL
* iiffLLffjjiiLLffttff;;::tttt;;....,,;;jj..
* jjjjLLiiffjj;;ttLL......;;ffjj....;;;;ff..
* ..ttjj;;......iiii......,,iiff;;,,;;ttLL
* ttiiii......tt;;......,,ttffttiittffff
* tt;;tt......tt;;......::ttLLffffLLGG;;
* iiiiff;;....tttt;;..;;;;jjDDGGGGGGii
* ..jjGGLLttiittGGttiiGGLLLLGGKKEE;;
* ;;ttttLLGGii;;......iijj;;
* ffLLLLGGttii;;ttii;;;;
* ....;;ttjjffii..
* ......
*
* __________ __________
* \______ \___.__. \______ \_____ ___.__. ____ ____
* | | _< | | | | _/\__ \< | |/ __ \ / * | | \\___ | | | \ / __ \\___ \ ___/| | * |______ // ____| |______ /(____ / ____|\___ >___| /
* \/ \/ \/ \/\/ \/ \/
*/
public class Squirrel extends AdvancedRobot
{
boolean alliances = true;
boolean MC = false; // Good idea, Voidious!
boolean TC = false; // Good idea, Voidious!
AcornSlingshot slingshot;
FleetFeet feet;
/**
* run: Squirrel's default behavior
*/
public void run() {
setBodyColor(Color.lightGray);
setGunColor(Color.lightGray);
setRadarColor(Color.darkGray);
setScanColor(Color.red);
setBulletColor(Color.green);
slingshot = new AcornSlingshot(this);
feet = new FleetFeet(this);
setAdjustGunForRobotTurn(true);
setAdjustRadarForGunTurn(true);
slingshot.run();
turnRadarRight(Double.POSITIVE_INFINITY);
}
/**
* onScannedRobot: What to do when you see another robot
*/
public void onScannedRobot(ScannedRobotEvent e) {
if(e.getName().length() >= 14 && alliances){
if("bayen.Squirrel".equals(
e.getName().subSequence(0,14))){
return;
}
}
if(!TC) slingshot.onScannedRobot(e);
if(!MC) feet.onScannedRobot(e);
setTurnRadarLeft(getRadarTurnRemaining());
}
/**
* onHitByBullet: What to do when you're hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
feet.onHitByBullet(e);
}
public void onHitWall(HitWallEvent e) {
feet.onHitWall(e);
}
public void onHitRobot(HitRobotEvent e) {
feet.onHitRobot(e);
}
public void onWin(WinEvent e) {
slingshot.onWin(e);
}
public void onDeath(DeathEvent e) {
slingshot.onDeath(e);
}
}