Skip to content

Instantly share code, notes, and snippets.

@naab
Created December 9, 2012 13:17
Show Gist options
  • Save naab/4244839 to your computer and use it in GitHub Desktop.
Save naab/4244839 to your computer and use it in GitHub Desktop.
M.O.N.T.E #2.1.2
var rot1 = 1;
var rot2 = 1;
var starting = 1;
function Robot(robot) {}
// well, we need to do something...
// whenever our robot is idle, this method gets called.
Robot.prototype.onIdle = function(ev) {
var robot;
robot = ev.robot;
if(starting == 1){
robot.turn(90);
}
if(robot.parentId){
robot.ahead(1*rot2);
robot.turn(1*rot2);
robot.rotateCannon(10*rot2);
}
else{
robot.ahead(-1*rot1);
robot.turn(-1*rot1);
robot.rotateCannon(-10*rot1);
}
};
// this method gets called whenever we hit another robot...
Robot.prototype.onRobotCollision = function(ev) {
var robot;
robot = ev.robot;
for(var i=1; i<5; i++){
robot.turn(10);
robot.back(10);
if(robot.parentId){
rot2 = -rot2;
}
else{
rot1 = -rot1;
}
}
};
// this method gets called whenever we hit a wall...
Robot.prototype.onWallCollision = function(ev) {
var robot;
robot = ev.robot;
for(var i=1; i<10; i++){
robot.turn(10);
robot.back(10);
if(robot.parentId){
rot2 = -rot2;
}
else{
rot1 = -rot1;
}
}
};
// yay we see another robot! time to wreak some havoc...
Robot.prototype.onScannedRobot = function(ev) {
var robot;
robot = ev.robot;
starting = 0;
robot.clone();
robot.ignore("onIdle");
if( robot.parentId == ev.scannedRobot.id || robot.id == ev.scannedRobot.parentId){
return
}
robot.fire();
if(robot.parentId){
rot2 = -rot2;
robot.rotateCannon(-30 * rot2);
}
else {
rot1 = -rot1;
robot.rotateCannon(30 * rot1);
}
robot.fire();
robot.listen("onIdle");
};
// ohhh... we were hit by another robot...
Robot.prototype.onHitByBullet = function(ev) {
var robot;
robot = ev.robot;
robot.turn(66+ev.bulletBearing);
robot.back(200);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment