Skip to content

Instantly share code, notes, and snippets.

@sinbonders
Forked from robwalch/robot.js
Created December 3, 2012 23:54
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/4199190 to your computer and use it in GitHub Desktop.
Save sinbonders/4199190 to your computer and use it in GitHub Desktop.
SWARM_A2
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
};
var rotateDir = 'right';
var clone = 0;
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
var rotate = robot.parentId ? -3 : 3;
var speed = robot.parentId ? 2 : 4;
robot.ahead(speed);
robot.rotateCannon(rotate);
};
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot, scannedRobot = ev.scannedRobot;
if (robot.id === scannedRobot.parentId || robot.parentId === scannedRobot.id) {
return;
}
if (!clone){
robot.clone();
clone = 1;
}
robot.fire();
if (rotateDir == 'right'){
robot.rotateCannon(-20);
rotateDir == 'left';
}
else {
robot.rotateCannon(20);
rotateDir == 'right';
}
robot.fire();
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
robot.stop();
robot.turn(ev.bearing-90);
robot.ahead(20);
};
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
robot.turn(90);
robot.ahead(100);
};
Robot.prototype.onHitByBullet = function(ev) {
var robot;
robot = ev.robot;
robot.turn(90 - ev.bulletBearing);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment