kvadrat4o

HandsOfCards

Jun 15th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.73 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5.  
  6. namespace HandsOfCards
  7. {
  8.     class HandsOfCards
  9.     {
  10.         public static void Main(string[] args)
  11.         {
  12.             //Console.WriteLine("Hello World!");
  13.             var cards = new Dictionary<string,HashSet<int>>();
  14.             var line = Console.ReadLine();
  15.             while (line != "JOKER")
  16.             {
  17.                 var tokens = line.Split(':');
  18.                 var name = tokens[0];
  19.                 var cardsPowers = GetCardPowers();
  20.                 var cardsTypes = GetCardTypes();
  21.                 var playerCards = tokens[1].Split(", ".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
  22.                 foreach (var card in playerCards)
  23.                 {
  24.                     var cardPower = card.Substring(0, card.Length - 1);
  25.                     var cardType = card.Substring(card.Length - 1);
  26.                     var sum = cardsPowers[cardPower] * cardsTypes[cardType];
  27.                     if (!cards.ContainsKey(name))
  28.                     {
  29.                         cards[name] = new HashSet<int>();
  30.                     }
  31.                     cards[name].Add(sum);
  32.                 }
  33.                
  34.                
  35.                 line = Console.ReadLine();
  36.             }
  37.             foreach (var pair in cards)
  38.             {
  39.                     var name = pair.Key;
  40.                     var total = pair.Value.Sum();
  41.                     Console.WriteLine("{0}: {1}", name, total);
  42.             }
  43.             Console.Write("Press any key to continue . . . ");
  44.             Console.ReadKey(true);
  45.         }
  46.         public static Dictionary<string,int> GetCardPowers()
  47.         {
  48.             var powers = new Dictionary<string,int>();
  49.             for (int i = 2; i <= 10; i++)
  50.             {
  51.                 powers[i.ToString()] = i;
  52.             }
  53.             powers["J"] = 11;
  54.             powers["Q"] = 12;
  55.             powers["K"] = 13;
  56.             powers["A"] = 14;
  57.            
  58.             return powers;
  59.         }
  60.         public static Dictionary<string, int> GetCardTypes()
  61.         {
  62.             var cardTypes = new Dictionary<string,int>();
  63.             cardTypes["S"] = 4;
  64.             cardTypes["H"] = 3;
  65.             cardTypes["D"] = 2;
  66.             cardTypes["C"] = 1;
  67.            
  68.             return cardTypes;
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment