Todorov_Stanimir

05. Card Game Associative Arrays - Exercise

Jul 9th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function cardGame(input) {
  2.     let powerCard = {
  3.         '2': 2,
  4.         '3': 3,
  5.         '4': 4,
  6.         '5': 5,
  7.         '6': 6,
  8.         '7': 7,
  9.         '8': 8,
  10.         '9': 9,
  11.         '10': 10,
  12.         'J': 11,
  13.         'Q': 12,
  14.         'K': 13,
  15.         'A': 14,
  16.     }
  17.     let typeCard = {
  18.         'C': 1,
  19.         'D': 2,
  20.         'H': 3,
  21.         'S': 4
  22.     }
  23.     let players = {};
  24.     input.forEach(line => {
  25.         let [player, cards] = line.split(': ');
  26.         if (!(player in players)) {
  27.             players[player] = []
  28.         }
  29.         cards.split(', ').forEach(card => {
  30.             if (!players[player].includes(card)) {
  31.                 players[player].push(card);
  32.             }
  33.         });
  34.     });
  35.     Object.entries(players).forEach(player => {
  36.         let totalScore = 0;
  37.         player[1].forEach(card => {
  38.             let arrayFromCard = card.split('');
  39.             let type = arrayFromCard.pop();
  40.             let power = arrayFromCard.join('');
  41.             totalScore += powerCard[power] * typeCard[type];
  42.         })
  43.         console.log(`${player[0]}: ${totalScore}`);
  44.     })
  45. }
Advertisement
Add Comment
Please, Sign In to add comment