Skip to content

Instantly share code, notes, and snippets.

@fmobus
Created December 7, 2012 21:36
Show Gist options
  • Save fmobus/4236737 to your computer and use it in GitHub Desktop.
Save fmobus/4236737 to your computer and use it in GitHub Desktop.
angle warrior
function cannonToAngle(r, angle) {
diff = angle - r.cannonAbsoluteAngle;
r.rotateCannon(diff);
}
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
this.wallmode = false;
cannonToAngle(robot, robot.angle);
};
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
if (this.wallmode) {
robot.ahead(10);
robot.rotateCannon(-15);
robot.ahead(10);
robot.rotateCannon(15);
}
else
robot.ahead(1000);
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
robot.turn(ev.bearing);
robot.rotateCannon(ev.bearing);
robot.back(50);
robot.turn(-90);
robot.rotateCannon(robot.angle - 45);
this.wallmode = true;
}
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
robot.turn(robot.angle - ev.bearing);
robot.back(50);
robot.fire();
}
Robot.prototype.onHitByBullet = function(ev) {
var robot = ev.robot;
robot.turn(robot.angle - ev.bearing);
robot.rotateCannon(-45);
robot.fire();
robot.fire()
}
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot;
robot.fire();
robot.fire();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment