MiroslavKisov

HandsOfCards

Oct 18th, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.80 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _5.HandsOfCards
  8. {
  9.     public class StartUp
  10.     {
  11.         public static void Main()
  12.         {
  13.             Dictionary<string, Dictionary<string, int>> players = new Dictionary<string, Dictionary<string, int>>();
  14.  
  15.             string input = Console.ReadLine();
  16.  
  17.             while (input != "JOKER")
  18.             {
  19.                 string[] comArgs = input.Split(':');
  20.                 string name = comArgs[0];
  21.                 string[] cards = comArgs[1].Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
  22.                 int cardsValue = 0;
  23.  
  24.                 if (!players.ContainsKey(name))
  25.                 {
  26.                     players.Add(name, new Dictionary<string, int>());
  27.                 }
  28.  
  29.                 for (int i = 0; i < cards.Length; i++)
  30.                 {
  31.  
  32.                     if (!players[name].ContainsKey(cards[i]))
  33.                     {
  34.                         players[name].Add(cards[i],cardsValue);
  35.                     }
  36.                     players[name][cards[i]] = CalculateCardsValue(cards[i]);
  37.                 }
  38.  
  39.                 input = Console.ReadLine();
  40.             }
  41.  
  42.             foreach (var playa in players)
  43.             {
  44.                 Console.WriteLine($"{playa.Key}: {playa.Value.Values.Sum()}");
  45.             }
  46.         }
  47.  
  48.         private static int CalculateCardsValue(string card)
  49.         {
  50.             int cardPower = 0;
  51.  
  52.             switch (card[0])
  53.             {
  54.                 case '2':
  55.                 case '3':
  56.                 case '4':
  57.                 case '5':
  58.                 case '6':
  59.                 case '7':
  60.                 case '8':
  61.                 case '9':
  62.                     cardPower += (int)card[0] - 48;
  63.                     break;
  64.                 case '1':
  65.                     cardPower =+ 10;
  66.                     break;
  67.                 case 'J':
  68.                     cardPower = +11;
  69.                     break;
  70.                 case 'Q':
  71.                     cardPower = +12;
  72.                     break;
  73.                 case 'K':
  74.                     cardPower = +13;
  75.                     break;
  76.                 case 'A':
  77.                     cardPower = +14;
  78.                     break;
  79.             }
  80.  
  81.             switch (card[card.Length-1])
  82.             {
  83.                 case 'S':
  84.                     cardPower *= 4;
  85.                     break;
  86.                 case 'H':
  87.                     cardPower *= 3;
  88.                     break;
  89.                 case 'D':
  90.                     cardPower *= 2;
  91.                     break;
  92.                 case 'C':
  93.                     cardPower *= 1;
  94.                     break;
  95.             }
  96.  
  97.             return cardPower;
  98.         }
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment