Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(inputArr) {
- var trackLength, playersLen, j,
- track = [],
- maxJumps,
- bestJump = 0,
- winner = 'no',
- playerName,
- playerWord,
- pJumpAbility,
- line, i,
- startPos;
- trackLength = Number(inputArr[1]);
- playersLen = inputArr.length - 2;
- maxJumps = Number(inputArr[0]);
- var limit = createTrackLim(trackLength).join('');
- limit = limit + '\n' + limit;
- console.log(limit);
- var players = [],
- playerInfo;
- for (j = 2; j < inputArr.length; j++) {
- playerInfo = [];
- line = inputArr[j].match(/\w+/g);
- playerName = line[0];
- pJumpAbility = Number(line[1]);
- playerInfo.push(playerName);
- playerInfo.push(pJumpAbility);
- playerInfo.push(0);
- startPos = j;
- playerInfo.push(startPos);
- playerInfo.push(getNameLetter(playerName));
- players.push(playerInfo)
- }
- var isWinner = false;
- for (j = 0; j < maxJumps; j++) {
- if (!isWinner) {
- for (i = 0; i < players.length; i++) {
- if (!isWinner) {
- //distance jumped
- players[i][2] += players[i][1];
- if (players[i][2] >= trackLength - 1) {
- winner = players[i][0];
- players[i][2] = trackLength - 1;
- isWinner = true;
- playerWord = players[i][4];
- break;
- }
- }
- }
- }
- }
- for (i = 0; i < players.length; i++) {
- var letter = players[i][4];
- var position = players[i][2];
- console.log(createElemPosRow(trackLength, letter, position));
- }
- console.log(limit);
- if (winner === 'no') {
- var max = 0, temp = 0;
- for (i = 0; i < playersLen; i++) {
- temp = players[i][2];
- if (temp >= max) {
- max = temp;
- winner = players[i][0];
- }
- }
- }
- console.log('Winner: ' + winner)
- //for (var t = 0; t < track.length; t++) {
- // console.log(track[t].join(''));
- //}
- function createElemPosRow(lenght, letter, pos){
- var str = '';
- for (var c = 0; c < lenght; c++) {
- if (pos === c) {
- str += letter;
- } else {
- str += '.';
- }
- }
- return str;
- }
- function getNameLetter(name) {
- var char = playerName.charAt(0).toUpperCase();
- return char;
- }
- function createTrackLim(lenght) {
- var i, arrLim = [],
- main = [];
- for (i = 0; i < lenght; i++) {
- arrLim.push('#');
- }
- main.push(arrLim.join(''));
- return main;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement