Skip to content

Instantly share code, notes, and snippets.

@lenybernard
Created December 8, 2012 14:41
Show Gist options
  • Save lenybernard/4240498 to your computer and use it in GitHub Desktop.
Save lenybernard/4240498 to your computer and use it in GitHub Desktop.
Aeden-unkeepable
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
robot.turn(0-robot.angle);
robot.ahead(robot.position.y);
};
var ori = 1;
var cannonRotation = 1;
var targetAngle = null;
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
if(robot.availableClones > 0 && robot.position.x == robot.arenaWidth-15){
robot.clone();
}
if(robot.cannonRelativeAngle == 90){
cannonRotation = 1;
}else if(robot.cannonRelativeAngle == 270){
cannonRotation = -1;
}
if(targetAngle != null){
if(robot.cannonRelativeAngle == targetAngle-30-(robot.position.x/10) ){
cannonRotation = 1;
}else if(robot.cannonRelativeAngle == targetAngle+30-(robot.position.x/10)){
cannonRotation = -1;
}
}
robot.ahead(1);
robot.rotateCannon(cannonRotation);
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
targetAngle = null;
robot.turn(90);
robot.log(robot.cannonRelativeAngle);
if(robot.cannonRelativeAngle == 90){
robot.rotateCannon(90);
}
};
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot;
var scannedRobot = ev.scannedRobot;
if(scannedRobot.parentId == robot.id|| scannedRobot.id == robot.parentId){
return;
}
robot.fire();
targetAngle = robot.cannonRelativeAngle;
};
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
if (ev.bearing > 0 && ev.bearing < 180 || ev.bearing == 0 || ev.bearing == 180 ) {
robot.back(1000);
}
else {
robot.ahead(100);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment