Todorov_Stanimir

05. Card Game with Map

Jul 10th, 2019
213
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 = new Map();
  24.     input.forEach(line => {
  25.         let [player, cards] = line.split(': ');
  26.         if (!players.has(player)) {
  27.             players.set(player, []);
  28.         }
  29.         cards.split(', ').forEach(card => {
  30.             if (!players.get(player).includes(card)) {
  31.                 players.get(player).push(card);
  32.             }
  33.         });
  34.     });
  35.     [...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. }
  46. cardGame([
  47.     'Peter: 2C, 4H, 9H, AS, QS',
  48.     'Tomas: 3H, 10S, JC, KD, 5S, 10S',
  49.     'Andrea: QH, QC, QS, QD',
  50.     'Tomas: 6H, 7S, KC, KD, 5S, 10C',
  51.     'Andrea: QH, QC, JS, JD, JC',
  52.     'Peter: JD, JD, JD, JD, JD, JD'
  53. ]);
Advertisement
Add Comment
Please, Sign In to add comment