Skip to content

Instantly share code, notes, and snippets.

@louisbl
Forked from f6p/robot.js
Created December 6, 2012 16:11
Show Gist options
  • Save louisbl/4225662 to your computer and use it in GitHub Desktop.
Save louisbl/4225662 to your computer and use it in GitHub Desktop.
DumberZero
// helpers
function areEnemies(robot, sighted) {
var sightedIsChild = (robot.id == sighted.parentId);
var sightedIsParent = (robot.parentId == sighted.id);
return !(sightedIsChild || sightedIsParent);
};
function baseStep(robot) {
return 6 * direction(robot);
};
function charge(robot) {
robot.ahead(360);
};
function direction(robot) {
return isParent(robot) ? 1 : -1;
};
function fallback(robot) {
robot.ignore('onHitByBullet');
robot.back(30 * baseStep(robot));
robot.listen('onHitByBullet');
};
function isParent(robot) {
return robot.parentId ? true : false;
};
function seekAndDestroy(robot) {
var step = baseStep(robot);
robot.rotateCannon(step);
robot.turn(step);
robot.ahead(step);
};
// robot
var Robot = function(robot) {
robot.clone();
};
Robot.prototype.onIdle = function(ev) {
seekAndDestroy(ev.robot);
};
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot;
var scanned = ev.scannedRobot;
if (areEnemies(robot, scanned)) {
var adjustment = -(36 * direction(robot));
robot.fire(); robot.fire();
robot.rotateCannon(adjustment);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment