this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .
this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .this .enemyId = 0; this .action = function (my_state, enemies, shots, params ){ if (! this .enemyId){ // , /* ID , ... */ this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); } for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } if ( typeof (enemy) == 'undefined' ){ // , ... this .enemyId = this .getNearestEnemy( enemies, {x: my_state.x, y: my_state.y}, my_state.angle ); for ( var key in enemies){ if (enemies[key][ 'id' ] == this .enemyId) var enemy = enemies[key]; } } /* ( ) , , -1 , 1 ... 0 ... : 3 , 90 12- ... */ var angle = this .getAngleDeflection( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle ); /* : c^2 = a^2 + b^2 - ... => c = sqrt(a^2 + b^2) */ var distanceToEnemy = Math.sqrt( Math.pow(enemy.x - my_state.x, 2) + Math.pow(enemy.y - my_state.y, 2) ); return [ 0.5, angle, this .fire( {x: my_state.x, y: my_state.y}, {x: enemy.x, y: enemy.y}, my_state.angle, distanceToEnemy ), distanceToEnemy ]; }; * This source code was highlighted with Source Code Highlighter .
* This source code was highlighted with Source Code Highlighter .
- this .getNearestEnemy = function (enemies, myCoords, myAngle) {
 - var howLong = Array (); // This array will contain the ID of the enemies and its range from us
 - var distance = Array (); // This array will contain the ID and range of the nearest enemy to us
 - for ( var i = 0; i <enemies.length; i ++) {
 - howLong [i] = Array ();
 - / *
 - Get directions in degrees from us to the enemy
 - * /
 - var direction = get_direction (myCoords.x, myCoords.y, enemies [i] [ 'x' ], enemies [i] [ 'y' ]);
 - / *
 - Now the difference between our direction and the direction towards the enemy. This difference also matters
 - because time spent on turning too
 - * /
 - direction = angle_size (direction, myAngle);
 - / *
 - Now summarize the distance and angle difference ...
 - * /
 - howLong [i] [ 'distance' ] = Math.sqrt (
 - Math.pow ([i] [ 'x' ] - myCoords.x, 2)
 - + Math.pow (enemies [i] [ 'y' ] - myCoords.y, 2)
 - ) + direction;
 - howLong [i] [ 'id' ] = enemies [i] [ 'id' ];
 - }
 - for ( var i = 0; i <howLong.length; i ++) { // Here we select the ID of the nearest robot
 - if (! i) distance = howLong [i];
 - else if (distance [ 'distance' ]> howLong [i] [ 'distance' ]) distance = howLong [i];
 - }
 - return distance [ 'id' ];
 - };
 
* This source code was highlighted with Source Code Highlighter .
- this .getAngleDeflection = function (myCoords, enemyCoords, myAngle) { // Well, everything seems to be clear here)
 - return get_angle_control (
 - myAngle,
 - get_direction (myCoords [ 'x' ], myCoords [ 'y' ], enemyCoords [ 'x' ], enemyCoords [ 'y' ])
 - );
 - };
 
* This source code was highlighted with Source Code Highlighter .
- this .fire = function (myCoords, enemyCoords, myAngle, distance) {
 - var direction = get_direction (myCoords [ 'x' ], myCoords [ 'y' ], enemyCoords [ 'x' ], enemyCoords [ 'y' ]);
 - var angle = angle_size (direction, myAngle); // Equalize for variable angle difference
 - if (distance! = 0 && angle! = 0) { // If any of the variables is zero, then theoretically you can shoot
 - / *
 - 10 divided by the product of distance and angle difference, we obtain the coefficient of "focus"
 - * /
 - if (10 / (distance * angle)> 0.6) return true ;
 - else return false ;
 - } else return true ;
 - }
 
* This source code was highlighted with Source Code Highlighter .
- this .getNearestEnemy = function (enemies, myCoords, myAngle) {
 - var howLong = Array ();
 - var distance = Array ();
 - for ( var i = 0; i <enemies.length; i ++) {
 - howLong [i] = Array ();
 - var direction = get_direction (myCoords.x, myCoords.y, enemies [i] [ 'x' ], enemies [i] [ 'y' ]);
 - direction = angle_size (direction, myAngle);
 - howLong [i] [ 'distance' ] = Math.sqrt (
 - Math.pow ([i] [ 'x' ] - myCoords.x, 2)
 - + Math.pow (enemies [i] [ 'y' ] - myCoords.y, 2)
 - ) + direction;
 - howLong [i] [ 'id' ] = enemies [i] [ 'id' ];
 - }
 - for ( var i = 0; i <howLong.length; i ++) {
 - if (! i) distance = howLong [i];
 - else if (distance [ 'distance' ]> howLong [i] [ 'distance' ]) distance = howLong [i];
 - }
 - return distance [ 'id' ];
 - };
 - this .getAngleDeflection = function (myCoords, enemyCoords, myAngle) {
 - return get_angle_control (
 - myAngle,
 - get_direction (myCoords [ 'x' ], myCoords [ 'y' ], enemyCoords [ 'x' ], enemyCoords [ 'y' ])
 - );
 - };
 - this .fire = function (myCoords, enemyCoords, myAngle, distance) {
 - var direction = get_direction (myCoords [ 'x' ], myCoords [ 'y' ], enemyCoords [ 'x' ], enemyCoords [ 'y' ]);
 - var angle = angle_size (direction, myAngle);
 - if (distance! = 0 && angle! = 0) {
 - if (10 / (distance * angle)> 0.6) return true ;
 - else return false ;
 - } else return true ;
 - }
 - this .enemyId = 0;
 - this .action = function (my_state, enemies, shots, params ) {
 - if (! this .enemyd) {
 - this .enemyId = this. getNearestEnemy (
 - enemies,
 - {x: my_state.x, y: my_state.y},
 - my_state.angle
 - );
 - }
 - for ( var key in enemies) {
 - if (enemies [key] [ 'id' ] == this .enemyId) var enemy = enemies [key];
 - }
 - if ( typeof (enemy) == 'undefined' ) {
 - this .enemyId = this. getNearestEnemy (
 - enemies,
 - {x: my_state.x, y: my_state.y},
 - my_state.angle
 - );
 - for ( var key in enemies) {
 - if (enemies [key] [ 'id' ] == this .enemyId) var enemy = enemies [key];
 - }
 - }
 - var angle = this .getAngleDeflection (
 - {x: my_state.x, y: my_state.y},
 - {x: enemy.x, y: enemy.y},
 - my_state.angle
 - );
 - var distanceToEnemy = Math.sqrt (
 - Math.pow (enemy.x - my_state.x, 2)
 - + Math.pow (enemy.y - my_state.y, 2)
 - );
 - return [
 - 0.5,
 - angle,
 - this .fire (
 - {x: my_state.x, y: my_state.y},
 - {x: enemy.x, y: enemy.y},
 - my_state.angle,
 - distanceToEnemy
 - ),
 - distanceToEnemy
 - ];
 - };
 
Source: https://habr.com/ru/post/76946/
All Articles