Advertisement
Guest User

Hands of Cards

a guest
Oct 11th, 2016
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.08 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 Hands_of_Cards
  8. {
  9.     class Program
  10.     {
  11.         static void Main()
  12.         {
  13.             char[] separators = { ':', ' ', ',' };
  14.             string key = "";            
  15.             var cardHolder = new Dictionary<string, string>();
  16.             Dictionary<string, int> cardType = new Dictionary<string, int>()
  17.             {
  18.                 {"S", 4}, {"H", 3}, {"D", 2}, {"C", 1}
  19.             };
  20.             Dictionary<string, int> cardPower = new Dictionary<string, int>()
  21.             {
  22.                 {"1",1}, {"2",2}, {"3",3}, {"4",4}, {"5",5}, {"6",6}, {"7",7},
  23.                 {"8",8}, {"9",9}, {"10",10}, {"J",11}, {"Q",12}, {"K",13}, {"A",14}
  24.             };
  25.            
  26.             while (key != "JOKER")
  27.             {
  28.                 string[] input = Console.ReadLine().Split(separators, StringSplitOptions.RemoveEmptyEntries).Distinct().ToArray();
  29.                 key = input[0];
  30.                 if (key == "JOKER")
  31.                 {
  32.                     break;
  33.                 }
  34.                 string cardsHeld = string.Join(" ",input.Skip(1).ToArray());                
  35.                 if (cardHolder.ContainsKey(key))
  36.                 {
  37.                     cardHolder[key] += " " + cardsHeld;
  38.                 }
  39.                 else
  40.                 {
  41.                     cardHolder.Add(key, cardsHeld);                    
  42.                 }                
  43.             }
  44.             foreach (var item in cardHolder)
  45.             {
  46.                 string[] temp = cardHolder[item.Key].Split(' ').Distinct().ToArray();
  47.                 int value = 0;
  48.                 for (int i = 0; i < temp.Length; i++)
  49.                 {
  50.                     string[] card = { temp[i].Substring(0, temp[i].Length - 1), temp[i][temp[i].Length - 1].ToString() };
  51.                     value += cardPower[card[0]] * cardType[card[1]];
  52.                 }              
  53.                 Console.WriteLine($"{item.Key}: {value}");
  54.             }
  55.         }
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement