Last active
December 12, 2015 02:58
-
-
Save rlemon/4703120 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Random number generator... kinda.. half assed.. kinda works. */ | |
| var pRand = function(nseed) { | |
| var seed, constant = Math.pow(2, 13) + 1, prime = 37, maximum = Math.pow(2, 50); | |
| if(nseed) { | |
| seed = nseed | |
| } | |
| if(seed == null) { | |
| seed = (new Date).getTime() | |
| } | |
| return{next:function() { | |
| seed *= constant; | |
| seed += prime; | |
| seed %= maximum; | |
| return parseFloat("." + seed) | |
| }} | |
| }; | |
| /* Robot class */ | |
| var Robot = function(robot) {}; | |
| /* make initial random seed */ | |
| var n = pRand(123); | |
| /* random move */ | |
| function randomMove(robot) { | |
| robot.turn(n.next()*360-180); | |
| robot.ahead(n.next()*100-10); | |
| } | |
| /* Idle bot */ | |
| Robot.prototype.onIdle = function(ev) { | |
| var robot = ev.robot; | |
| randomMove(robot); | |
| }; | |
| /* Bot found! */ | |
| Robot.prototype.onScannedRobot = function(ev) { | |
| var robot = ev.robot; | |
| n = pRand(ev.scannedRobot.angle); // reseed random number gen | |
| robot.fire(); // fire and run towards | |
| robot.ahead(50); // this SHOULD get distance between and travel it. | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Random number generator... kinda.. half assed.. kinda works. */ | |
| var pRand = function(nseed) { | |
| var seed, constant = Math.pow(2, 13) + 1, prime = 37, maximum = Math.pow(2, 50); | |
| if(nseed) { | |
| seed = nseed | |
| } | |
| if(seed == null) { | |
| seed = (new Date).getTime() | |
| } | |
| return{next:function() { | |
| seed *= constant; | |
| seed += prime; | |
| seed %= maximum; | |
| return parseFloat("." + seed) | |
| }} | |
| }; | |
| /* Robot class */ | |
| var Robot = function(robot) { | |
| robot.rotateCannon(90); | |
| robot.rotateCannon(-1 * robot.cannonRelativeAngle); | |
| }; | |
| var props = { | |
| rand : pRand(5318008) | |
| } | |
| /* random move */ | |
| function randomMove(robot) { | |
| robot.turn(props.rand.next()*90-45); | |
| robot.ahead(props.rand.next()*100-30); | |
| } | |
| function resetCannon(robot) { | |
| robot.rotateCannon(-1 * robot.cannonRelativeAngle); | |
| } | |
| /* Idle bot */ | |
| Robot.prototype.onIdle = function(ev) { | |
| var robot = ev.robot; | |
| if( robot.cannonRelativeAngle !== 0 ) { | |
| resetCannon(robot); | |
| } | |
| }; | |
| /* Bot found! */ | |
| Robot.prototype.onScannedRobot = function(ev) { | |
| var robot = ev.robot; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment