Skip to content

Instantly share code, notes, and snippets.

@shingara
Forked from Klaudiusz-Borowiak/robot.js
Created December 7, 2012 15:28
Show Gist options
  • Save shingara/4233958 to your computer and use it in GitHub Desktop.
Save shingara/4233958 to your computer and use it in GitHub Desktop.
P3exp
var robotSpotted = false;
var lastKnownX = -1;
var lastKnownY = -1;
var Robot = function(robot) {
//robot.clone();
};
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
if(!robotSpotted)
{
robot.ahead(100);
robot.rotateCannon(360)
}
};
Robot.prototype.onScannedRobot = function(ev) {
robotSpotted = true;
var robot = ev.robot;
var scannedRobot = ev.scannedRobot;
robot.stop()
robot.fire();
robot.rotateCannon(-robot.cannonAbsoluteAngle);
robot.fire();
};
Robot.prototype.onWallCollision = function(ev) {
var robot = ev.robot;
var bounceAngle;
if(ev.bearing > 0)
{
bounceAngle= -2*(90-ev.bearing);
}
else
{
bounceAngle= 2*(90+ev.bearing);
}
robot.turn(bounceAngle);
robot.ahead(100);
};
Robot.prototype.onRobotCollision = function(ev) {
var robot = ev.robot;
robot.back(70);
robot.turn(30)
};
function CalcAbsoluteAngleTo(myX, myY, x, y)
{
var wektorX = x - myX;
var wektorY = y - myY;
var absoluteAngle = Math.atan(wektorY/wektorX) * (180/Math.PI) - 90;
if(absoluteAngle < 0)
{
absoluteAngle = 360 + absoluteAngle;
}
return absoluteAngle;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment