Advertisement
Guest User

Card Game

a guest
Nov 22nd, 2021
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function cardGame(array) {
  2.     let players={};
  3.  
  4.     for(let element of array){
  5.         let playerName=element.slice(0,element.indexOf(": "));
  6.         let cards=element.slice(element.indexOf(" ")+1,).split(', ');
  7.        
  8.         if(!players.hasOwnProperty(playerName)){
  9.             players[playerName]=cards;
  10.         }else{
  11.             players[playerName].push.apply(players[playerName],cards);
  12.         }
  13.     }
  14.  
  15.     for(let player in players){
  16.         let currSet=new Set(players[player]);
  17.         players[player]=Array.from(currSet);
  18.         players[player]["totalPoints"]=0;
  19.     }
  20.  
  21.     for(let player in players){
  22.  
  23.         for(let card of players[player]){
  24.             let cardPower;
  25.             let cardType;
  26.  
  27.             if(card.length==2){
  28.                 [cardPower,cardType]=card.split('');
  29.             }else{
  30.                 cardType=card.split('').pop();
  31.                 cardPower=card.slice(0,2);
  32.             }
  33.  
  34.             switch(cardPower){
  35.                 case'2':
  36.                     cardPower=2;
  37.                     break;
  38.                 case'3':
  39.                     cardPower=3;
  40.                     break;
  41.                 case '4':
  42.                     cardPower=4;
  43.                     break;
  44.                 case'5':
  45.                     cardPower=5;
  46.                     break;
  47.                 case'6':
  48.                     cardPower=6;
  49.                     break;
  50.                 case'7':
  51.                     cardPower=7;
  52.                     break;
  53.                 case'8':
  54.                     cardPower=8;
  55.                     break;
  56.                 case'9':
  57.                     cardPower=9;
  58.                     break;
  59.                 case'10':
  60.                     cardPower=10;
  61.                     break;
  62.                 case'J':
  63.                     cardPower=11;
  64.                     break;
  65.                 case'Q':
  66.                     cardPower=12;
  67.                     break;
  68.                 case'K':
  69.                     cardPower=13;
  70.                     break;
  71.                 case'A':
  72.                     cardPower=14;
  73.                     break;
  74.             }
  75.             switch(cardType){
  76.                 case 'S': cardType=4;break;
  77.                 case 'H': cardType=3;break;
  78.                 case 'D': cardType=2;break;
  79.                 case 'C': cardType=1;break;
  80.             }
  81.             players[player]["totalPoints"]+=cardType*cardPower;
  82.         }
  83.     }
  84.  
  85.     for(let player in players){
  86.         console.log(`${player}: ${players[player]["totalPoints"]}`)
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement