Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function cardGame(input) {
- let playersAndTheirCards = {};
- for (let i = 0; i < input.length; i++) {
- let line = input[i].split(": ");
- let player = line[0];
- let cards = line[1].split(", ");
- if (player in playersAndTheirCards) {
- let currentCards = playersAndTheirCards[player];
- let allCards=currentCards.concat(cards);
- let distinctCards=[...new Set(allCards)];
- playersAndTheirCards[player]=distinctCards;
- } else {
- playersAndTheirCards[player] = cards;
- }
- }
- for(let player in playersAndTheirCards) {
- let personalScore=0;
- let cardsArr=playersAndTheirCards[player];
- cardsArr.forEach(card => {
- let kvp=card.split("");
- let color=kvp.pop();
- let power=kvp.join("");
- let value=0;
- let multiplier=0;
- switch(power){
- case "2": value=2; break;
- case "3": value=3; break;
- case "4": value=4; break;
- case "5": value=5; break;
- case "6": value=6; break;
- case "7": value=7; break;
- case "8": value=8; break;
- case "9": value=9; break;
- case "10": value=10; break;
- case "J": value=11; break;
- case "Q": value=12; break;
- case "K": value=13; break;
- case "A": value=14; break;
- }
- switch(color){
- case "S":multiplier=4;break;
- case "H":multiplier=3;break;
- case "D":multiplier=2;break;
- case "C":multiplier=1;break;
- }
- personalScore+=value*multiplier;
- });
- console.log(`${player}: ${personalScore}`);
- }
- }
- cardGame([
- 'Peter: 2C, 4H, 9H, AS, QS',
- 'Tomas: 3H, 10S, JC, KD, 5S, 10S',
- 'Andrea: QH, QC, QS, QD',
- 'Tomas: 6H, 7S, KC, KD, 5S, 10C',
- 'Andrea: QH, QC, JS, JD, JC',
- 'Peter: JD, JD, JD, JD, JD, JD'
- ]
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement