Skip to content

Instantly share code, notes, and snippets.

@bobmatnyc
Forked from EdiJoe/robot.js
Created December 6, 2012 20:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bobmatnyc/4228266 to your computer and use it in GitHub Desktop.
Save bobmatnyc/4228266 to your computer and use it in GitHub Desktop.
KillbotXR
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
robot.clone();
};
scan = false;
count = 0;
rotate = 2;
hit_count = 0;
cur_bearing = 0;
init = true;
Robot.prototype.onIdle = function(ev) {
var r = ev.robot;
is_clone = ev.robot.parentId;
if (is_clone && init) {
r.turn(90);
r.ahead(500);
init = false;
}
var db = r.cannonRelativeAngle - cur_bearing;
count++;
rotate = -rotate;
//if (cur_bearing > 0) {
// r.log('db='+db);
//}
if (!scan) {
r.ahead(1);
r.rotateCannon(1);
} else {
r.rotateCannon(rotate);
}
if (count > 100) {
count = 0;
scan = false;
r.turn(90);
}
};
Robot.prototype.onHitByBullet = function(ev) {
r.stop();
var r = ev.robot;
hit_count++;
if (hitcount > 2) {
scan = false;
r.stop();
r.turn(75 - ev.bulletBearing);
r.back(200);
hit_count = 0;
}
};
Robot.prototype.onWallCollision = function(ev) {
var r = ev.robot;
cur_bearing = ev.bearing;
r.stop();
r.turn(5);
};
Robot.prototype.onRobotCollision = function(ev) {
var r = ev.robot;
r.stop();
r.turn(90);
r.back(90);
};
Robot.prototype.onScannedRobot = function(ev) {
var r = ev.robot, sr = ev.scannedRobot;
if((sr.id == r.parentId) || (sr.parentId == r.id)) {
return;
}
scan = true;
r.stop();
r.fire();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment