Advertisement
Guest User

Fleas

a guest
Apr 6th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var players = [];
  2.     var allowedJumps = Number(input[0]);
  3.     var fieldSize = Number(input[1]);
  4.     var winnerFound = false;
  5.     var winner = '';
  6.  
  7.     input.forEach(function (x) {
  8.         if (isNaN(x)) {
  9.             var player = {};
  10.             var tokens = x.split(', ');
  11.             player['name'] = tokens[0];
  12.             player['jump'] = Number(tokens[1]);
  13.             player['position'] = 0;
  14.  
  15.             players.push(player);
  16.         }
  17.     });
  18.  
  19.     while (allowedJumps > 0) {
  20.         players.forEach(function (player) {
  21.             if (!winnerFound) {
  22.                 player['position'] += player['jump'];
  23.  
  24.                 if (player['position'] >= fieldSize - 1) {
  25.                     winner = player['name'];
  26.                     winnerFound = true;
  27.                 }
  28.             }
  29.         });
  30.  
  31.         allowedJumps--;
  32.     }
  33.  
  34.     if (!winnerFound) {
  35.         var further = -1;
  36.         players.forEach(function (x) {
  37.             if (x['position'] >= further) {
  38.                 further = x['position'];
  39.                 winner = x['name'];
  40.             }
  41.         });
  42.     }
  43.  
  44.     var field = '';
  45.     var audiance = new Array(fieldSize + 1).join('#') + '\n' + new Array(fieldSize + 1).join('#') + '\n';
  46.     players.forEach(function(player) {
  47.         field += getLines(player) + '\n';
  48.     });
  49.  
  50.     function getLines(player) {
  51.         var line = new Array(fieldSize + 1).join('.');
  52.         if(player['position'] >= fieldSize) {
  53.             line = new Array(fieldSize).join('.') + player['name'][0].toUpperCase();
  54.         } else {
  55.             line = line.substr(0, player['position']) + player['name'][0].toUpperCase() + line.substr(player['position'] + 1);
  56.         }
  57.  
  58.         return line;
  59.     }
  60.  
  61.     var output = audiance + field + audiance + 'Winner: ' + winner;
  62.     console.log(output);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement