Advertisement
Booster

P2 Flea Racing

Apr 5th, 2015
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(inputArr) {
  2.     var trackLength, playersLen, j,
  3.         track = [],
  4.         maxJumps,
  5.         bestJump = 0,
  6.         winner = 'no',
  7.         playerName,
  8.         playerWord,
  9.         pJumpAbility,
  10.         line, i,
  11.         startPos;
  12.     trackLength = Number(inputArr[1]);
  13.     playersLen = inputArr.length - 2;
  14.     maxJumps = Number(inputArr[0]);
  15.     var limit = createTrackLim(trackLength).join('');
  16.     limit = limit + '\n' + limit;
  17.     console.log(limit);
  18.  
  19.     var players = [],
  20.         playerInfo;
  21.  
  22.     for (j = 2; j < inputArr.length; j++) {
  23.         playerInfo = [];
  24.         line = inputArr[j].match(/\w+/g);
  25.         playerName = line[0];
  26.         pJumpAbility = Number(line[1]);
  27.         playerInfo.push(playerName);
  28.         playerInfo.push(pJumpAbility);
  29.         playerInfo.push(0);
  30.         startPos = j;
  31.         playerInfo.push(startPos);
  32.         playerInfo.push(getNameLetter(playerName));
  33.         players.push(playerInfo)
  34.  
  35.     }
  36.     var isWinner = false;
  37.     for (j = 0; j < maxJumps; j++) {
  38.         if (!isWinner) {
  39.             for (i = 0; i < players.length; i++) {
  40.                 if (!isWinner) {
  41.                     //distance jumped
  42.                     players[i][2] += players[i][1];
  43.                     if (players[i][2] >= trackLength - 1) {
  44.                         winner = players[i][0];
  45.                         players[i][2] = trackLength - 1;
  46.                         isWinner = true;
  47.                         playerWord = players[i][4];
  48.                         break;
  49.                     }
  50.                 }
  51.             }
  52.         }
  53.     }
  54.  
  55.     for (i = 0; i < players.length; i++) {
  56.         var letter = players[i][4];
  57.  
  58.         var position = players[i][2];
  59.         console.log(createElemPosRow(trackLength, letter, position));
  60.  
  61.     }
  62.     console.log(limit);
  63.     if (winner === 'no') {
  64.         var max = 0, temp = 0;
  65.  
  66.         for (i = 0; i < playersLen; i++) {
  67.             temp = players[i][2];
  68.             if (temp >= max) {
  69.                 max = temp;
  70.                 winner = players[i][0];
  71.             }
  72.         }
  73.  
  74.     }
  75.     console.log('Winner: ' + winner)
  76.     //for (var t = 0; t < track.length; t++) {
  77.     //    console.log(track[t].join(''));
  78.     //}
  79.     function createElemPosRow(lenght, letter, pos){
  80.         var str = '';
  81.         for (var c = 0; c < lenght; c++) {
  82.             if (pos === c) {
  83.                 str += letter;
  84.             } else {
  85.                 str += '.';
  86.             }
  87.  
  88.         }
  89.         return str;
  90.     }
  91.  
  92.  
  93.     function getNameLetter(name) {
  94.         var char = playerName.charAt(0).toUpperCase();
  95.         return char;
  96.     }
  97.  
  98.  
  99.     function createTrackLim(lenght) {
  100.         var i, arrLim = [],
  101.             main = [];
  102.         for (i = 0; i < lenght; i++) {
  103.  
  104.             arrLim.push('#');
  105.         }
  106.         main.push(arrLim.join(''));
  107.         return main;
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement