Skip to content

Instantly share code, notes, and snippets.

@sinbonders
Created December 4, 2012 02:06
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 sinbonders/4199885 to your computer and use it in GitHub Desktop.
Save sinbonders/4199885 to your computer and use it in GitHub Desktop.
Sidewinder
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
};
var rotateDir = 'right';
var waves = [50, 30, 20, 40, 100, 30, 20, 34];
var wave = 50;
var wavey = 1;
var wave_step = 0;
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
var turn = wave_step > 0 ? 1 : -1;
wave_step++;
if (wave_step > wave){
//robot.rotateCannon(-wave);
wave_step = -wave;
wavey = wavey > waves.length ? 0 : wavey + 1;
wave = waves[wavey];
}
robot.turn(turn * 2);
robot.rotateCannon(wavey);
robot.ahead(3);
};
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot, scannedRobot = ev.scannedRobot;
if (robot.id === scannedRobot.parentId || robot.parentId === scannedRobot.id) {
return;
}
robot.fire();
if (rotateDir == 'right'){
robot.rotateCannon(-10);
rotateDir == 'left';
}
else {
robot.rotateCannon(10);
rotateDir == 'right';
}
robot.fire();
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
robot.stop();
robot.turn(-90);
};
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
robot.turn(30);
};
Robot.prototype.onHitByBullet = function(ev) {
var robot;
robot = ev.robot;
robot.turn(90 - ev.bulletBearing);
robot.ahead(50);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment