Skip to content

Instantly share code, notes, and snippets.

@markcoleman
Forked from bchoii/robot.js
Created December 6, 2012 14:22
Show Gist options
  • Save markcoleman/4224777 to your computer and use it in GitHub Desktop.
Save markcoleman/4224777 to your computer and use it in GitHub Desktop.
First Try
var Robot = function(robot) {
//\ robot.clone();
// this.mode = 'scanning';
};
var mode = 'scanning';
var targetVector = 0;
var lastFired = 0;
var iteration = 0;
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
iteration++;
if (mode == 'scanning') {
robot.rotateCannon(20);
}
if (mode == 'targetting') {
var d = robot.cannonAbsoluteAngle - targetVector;
if (d < 0) {
robot.rotateCannon(10);
} else {
robot.rotateCannon(-15);
}
robot.ahead(20);
}
if (iteration - lastFired > 2) {
mode = "scanning";
}
};
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
robot.back(100);
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
robot.turn(ev.bearing - 90);
};
Robot.prototype.onHitByBullet = function(ev) {
var robot = ev.robot;
robot.turn(90 - ev.bulletBearing);
};
Robot.prototype.onScannedRobot = function(ev) {
var robot = ev.robot;
if (robot.id == ev.scannedRobot.parentId) {
return;
}
if (robot.parentId == ev.scannedRobot.id) {
return;
}
robot.fire();
lastFired = iteration;
mode = 'targetting';
targetVector = robot.cannonAbsoluteAngle;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment