JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://download.basecase.com/programming-test/defender.js"></script>

JavaScript

/*
            ,--.    ,--.     ,--.          
,--,--,--. /    \  /    \  ,-|  |,--. ,--. 
|        ||  ()  ||  ()  |' .-. | \  '  /  
|  |  |  | \    /  \    / \ `-' |  \   '   
`--`--`--'  `--'    `--'   `---' .-'  /    
                                 `---'   
*/

defender.start(
  function notify_player(rocks, paddle_y){
   
    //rocks_sorted ascending time order for crash to the surface.
    rocks_sorted = rocks.sort(function(a,b){
      return a.distance - b.distance;
    });
    
    var nearest_rock = rocks_sorted[0];
    var adjacent_blocks = Math.sin(nearest_rock.radians) * nearest_rock.distance; 
    
    var blocks_to_move = 0;
    var negative = false;
    if(adjacent_blocks < 0){
    	 adjacent_blocks *= -1;
       negative = true;
    }
    
    var blocks_to_move =  adjacent_blocks > 9 ? 9: Math.ceil(adjacent_blocks);
    if(negative){
    	 blocks_to_move *= -1;
    }
     
    var moves = [];
    if(blocks_to_move > 0){
    	 while(blocks_to_move > 0){
          moves.push(-1);
          blocks_to_move-=1;
       }
    }
    if(blocks_to_move < 0){
       while(blocks_to_move < 0){
           moves.push(1);
           blocks_to_move+=1;
       }
    }
    
    return moves;
  }
);