Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.66 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics.Contracts;
  4. using System.Globalization;
  5. using System.IO.IsolatedStorage;
  6. using System.Linq;
  7.  
  8.  
  9. namespace Test
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             var playerStats = new Dictionary<string, List<string>>();
  16.  
  17.             while (true)
  18.             {
  19.                 string inputInfo = Console.ReadLine();
  20.  
  21.                 if (inputInfo.Equals("JOKER"))
  22.                 {
  23.                     break;
  24.                 }
  25.  
  26.                 string name = inputInfo.Split(":")[0];
  27.                 List<string> cards = inputInfo.Split(new char[] {',', ' ', ':'},
  28.                     StringSplitOptions.RemoveEmptyEntries).Skip(1).ToList();
  29.  
  30.  
  31.                 if (!playerStats.ContainsKey(name))
  32.                 {
  33.                     playerStats.Add(name, new List<string>());
  34.                 }
  35.  
  36.  
  37.                 foreach (string card in cards)
  38.                 {
  39.                     if (!playerStats[name].Contains(card))
  40.                     {
  41.                         playerStats[name].Add(card);
  42.                     }
  43.                 }
  44.             }
  45.  
  46.             foreach (var kvp in playerStats)
  47.             {
  48.                 Console.WriteLine("{0}: {1}", kvp.Key, SumOfCards(kvp.Value));
  49.             }
  50.         }
  51.  
  52.         static int SumOfCards(List<string> cards)
  53.         {
  54.             int sum = 0;
  55.             string face = "";
  56.             string color = "";
  57.             int facePower = 0;
  58.             int colorPower = 0;
  59.             int handStrength = 0;
  60.  
  61.             for (int i = 0; i < cards.Count; i++)
  62.             {
  63.                 List<string> temp = new List<string>();
  64.                
  65.                 //if card contains 3 chars. e.g. : 10S
  66.                 if (cards[i].Length == 3)
  67.                 {
  68.                     temp.Add(cards[i].Substring(0, 2));
  69.                     temp.Add(cards[i].Substring(2));
  70.                 }
  71.                 else
  72.                 {
  73.                     foreach (char ch in cards[i])
  74.                     {
  75.                         temp.Add(ch.ToString());
  76.                     }
  77.                 }
  78.  
  79.                 face = temp[0];
  80.                 color = temp[1];
  81.              
  82.                     switch (face)
  83.                     {
  84.                         case "2":
  85.                             facePower = 2;
  86.                             break;
  87.                         case "3":
  88.                             facePower = 3;
  89.                             break;
  90.                         case "4":
  91.                             facePower = 4;
  92.                             break;
  93.                         case "5":
  94.                             facePower = 5;
  95.                             break;
  96.                         case "6":
  97.                             facePower = 6;
  98.                             break;
  99.                         case "7":
  100.                             facePower = 7;
  101.                             break;
  102.                         case "8":
  103.                             facePower = 8;
  104.                             break;
  105.                         case "9":
  106.                             facePower = 9;
  107.                             break;
  108.                         case "10":
  109.                             facePower = 10;
  110.                             break;
  111.                         case "J":
  112.                             facePower = 11;
  113.                             break;
  114.                         case "Q":
  115.                             facePower = 12;
  116.                             break;
  117.                         case "K":
  118.                             facePower = 13;
  119.                             break;
  120.                         case "A":
  121.                             facePower = 14;
  122.                             break;
  123.                         default:
  124.                             break;
  125.                     }
  126.  
  127.                     switch (color)
  128.                     {
  129.                         case "S":
  130.                             colorPower = 4;
  131.                             break;
  132.                         case "H":
  133.                             colorPower = 3;
  134.                             break;
  135.                         case "D":
  136.                             colorPower = 2;
  137.                             break;
  138.                         case "C":
  139.                             colorPower = 1;
  140.                             break;
  141.                     }
  142.  
  143.                     handStrength = facePower * colorPower;
  144.  
  145.                 sum += handStrength;
  146.                 facePower = 0;
  147.                 colorPower = 0;
  148.                 temp.Clear();
  149.             }
  150.            
  151.             return sum;
  152.         }
  153.     }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement