Advertisement
vonko1988

JSBitBall

May 7th, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Solve(params) {
  2.  
  3.     //var firstTeam = [240, 0, 240, 0, 96, 0, 0, 0];
  4.     //var secondTeam = [0, 0, 0, 6, 0, 15, 0, 15];
  5.  
  6.     var field = [];
  7.  
  8.     //First we setup the players
  9.  
  10.     for (var row = 0; row < 8; row++) {
  11.         field[row] = new Array;
  12.  
  13.         for (var col = 0; col < 8; col++) {
  14.             bit = (parseInt(params[row]) >> 7 - col) & 1;
  15.  
  16.             if (bit === 1) {
  17.                 field[row][col] = 'T';
  18.             }
  19.             else {
  20.                 field[row][col] = 0;
  21.             }
  22.  
  23.         }
  24.  
  25.     }
  26.  
  27.     for (var row = 0; row < 8; row++) {
  28.  
  29.         for (var col = 0; col < 8; col++) {
  30.             bit = (parseInt(params[row + 8]) >> 7 - col) & 1;
  31.  
  32.             if (bit === 1 && field[row][col] === 'T') {
  33.                 field[row][col] = 0;
  34.             }
  35.             else if (bit === 1 && field[row][col] === 0) {
  36.                 field[row][col] = 'B';
  37.             }
  38.  
  39.             //process.stdout.write(field[row][col] + ' ');
  40.         }
  41.         //console.log();
  42.     }
  43.  
  44.     //Now we play the game
  45.  
  46.     var firstTeamScore = 0;
  47.     var secondTeamScore = 0;
  48.  
  49.     for (var row = 0; row < 8; row++) {
  50.  
  51.         for (var col = 0; col < 8; col++) {
  52.  
  53.             if (field[row][col] == 'T') {
  54.  
  55.                 for (i = row; i <= 7; i++) {
  56.  
  57.                     if (i < 7) {
  58.  
  59.                         if (field[i + 1][col] == 'B') {
  60.                             break;
  61.                         }
  62.                         else if (field[i + 1][col] == 'T') {
  63.                             break;
  64.                         }
  65.                     }
  66.                     if (i == 7) {
  67.                         firstTeamScore++;
  68.                         //console.log('row: ' + i + 'col: ' + col);
  69.                         break;
  70.                     }
  71.                 }
  72.             }
  73.  
  74.             else if (field[row][col] == 'B') {
  75.  
  76.                 for (var i = row; i >= 0; i--) {
  77.  
  78.                     if (i > 0) {
  79.  
  80.                         if (field[i - 1][col] == 'T') {
  81.                             break;
  82.                         }
  83.                         else if (field[i - 1][col] == 'B') {
  84.                             break;
  85.                         }
  86.                     }
  87.                     if (i == 0) {
  88.                         secondTeamScore++;
  89.                         //console.log('row: ' + i + 'col: ' + col);
  90.                         break;
  91.                     }
  92.                 }
  93.             }
  94.         }
  95.     }
  96.  
  97.     //console.log(firstTeamScore);
  98.     //console.log(secondTeamScore);
  99.  
  100.     return (firstTeamScore + ':' + secondTeamScore);
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement