Advertisement
didkoslawow

Untitled

Jan 31st, 2023
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function cardGame(input) {
  2.   const peopleInfo = [...input];
  3.   const players = {};
  4.  
  5.   for (const person of peopleInfo) {
  6.     const currentPerson = person.split(': ');
  7.     const personName = currentPerson.shift();
  8.     const personCards = currentPerson.shift().split(', ');
  9.     const cards = [...new Set(personCards)];
  10.  
  11.     if (!players.hasOwnProperty(personName)) {
  12.       players[personName] = cards;
  13.     } else {
  14.       const currentCards = players[personName];
  15.       players[personName] = currentCards.concat(cards);
  16.     }
  17.  
  18.     const finalCards = [...new Set(players[personName])];
  19.     players[personName] = finalCards;
  20.   }
  21.  
  22.   for (let player in players) {
  23.     const values = players[player];
  24.     const cardsValue = cardMath(values);
  25.     players[player] = cardsValue;
  26.     console.log(`${player}: ${players[player]}`);
  27.   }
  28.  
  29.   function cardMath(values) {
  30.     let result = 0;
  31.  
  32.     for (const value of values) {
  33.       const values = value.split('');
  34.       let elOne;
  35.       let elTwo;
  36.  
  37.       if (values.length === 2) {
  38.         elOne = values[0];
  39.         elTwo = values[1];
  40.       } else {
  41.         elOne = values[0] + values[1];
  42.         elTwo = values[2];
  43.       }
  44.       switch (elOne) {
  45.         case '2':
  46.         case '3':
  47.         case '4':
  48.         case '5':
  49.         case '6':
  50.         case '7':
  51.         case '8':
  52.         case '9':
  53.         case '10':
  54.           elOne = Number(elOne);
  55.           break;
  56.         case 'J':
  57.           elOne = 11;
  58.           break;
  59.         case 'Q':
  60.           elOne = 12;
  61.           break;
  62.         case 'K':
  63.           elOne = 13;
  64.           break;
  65.         case 'A':
  66.           elOne = 14;
  67.           break;
  68.       }
  69.       switch (elTwo) {
  70.         case 'S':
  71.           elTwo = 4;
  72.           break;
  73.         case 'H':
  74.           elTwo = 3;
  75.           break;
  76.         case 'D':
  77.           elTwo = 2;
  78.           break;
  79.         case 'C':
  80.           elTwo = 1;
  81.           break;
  82.       }
  83.  
  84.       result += elOne * elTwo;
  85.     }
  86.     return result;
  87.   }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement