Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.83 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. using System.Numerics;
  5. using System.Text;
  6.  
  7.  
  8. namespace _3._Legendary_Farming
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.  
  15.             var item = new Dictionary<string, int>();
  16.             var itemJunk = new Dictionary<string, int>();
  17.             int num = 0;
  18.             int counterForBreakFrag = 0;
  19.             int counterForBreaksMotes = 0;
  20.             int counterForBreaksShard = 0;
  21.             while (true)
  22.             {
  23.                 string[] material = Console.ReadLine().Split(" ").ToArray();
  24.  
  25.                 for (int i = 0; i < material.Length; i++)
  26.                 {
  27.                     string inputMaterial = material[i].ToLower();
  28.  
  29.                     if (inputMaterial == "fragments")
  30.                     {
  31.                         int materialQuantity = int.Parse(material[i - 1]);
  32.                         if (!item.ContainsKey("fragments"))
  33.                         {
  34.  
  35.                             item.Add("fragments", materialQuantity);
  36.                             counterForBreakFrag += materialQuantity;
  37.                             if (item["fragments"] >= 250)
  38.                             {
  39.                                 Console.WriteLine($"Valanyr obtained!");
  40.                                 item["fragments"] -= 250;
  41.                                 break;
  42.  
  43.                             }
  44.                         }
  45.                         else
  46.                         {
  47.                             item["fragments"] += materialQuantity;
  48.                             counterForBreakFrag += materialQuantity;
  49.                             if (item["fragments"] >= 250)
  50.                             {
  51.                                 Console.WriteLine($"Valanyr obtained!");
  52.                                 item["fragments"] -= 250;
  53.                                 break;
  54.  
  55.                             }
  56.                         }
  57.                     }
  58.                     else if (inputMaterial == "shards")
  59.                     {
  60.  
  61.                         int materialQuantity = int.Parse(material[i - 1]);
  62.                         if (!item.ContainsKey("shards"))
  63.                         {
  64.                             counterForBreaksShard += materialQuantity;
  65.                             item.Add("shards", materialQuantity);
  66.  
  67.                             if (item["shards"] >= 250)
  68.                             {
  69.                                 Console.WriteLine($"Shadowmourne obtained!");
  70.                                 item["shards"] -= 250;
  71.                                 break;
  72.  
  73.                             }
  74.                         }
  75.                         else
  76.                         {
  77.                             item["shards"] += materialQuantity;
  78.                             counterForBreaksShard += materialQuantity;
  79.                             if (item["shards"] >= 250)
  80.                             {
  81.                                 Console.WriteLine($"Shadowmourne obtained!");
  82.                                 item["shards"] -= 250;
  83.                                 break;
  84.  
  85.                             }
  86.                         }
  87.                     }
  88.                     else if (inputMaterial == "motes")
  89.                     {
  90.                         int materialQuantity = int.Parse(material[i - 1]);
  91.                         if (!item.ContainsKey("motes"))
  92.                         {
  93.                             counterForBreaksMotes += materialQuantity;
  94.                             item.Add("motes", materialQuantity);
  95.  
  96.                             if (item["motes"] >= 250)
  97.                             {
  98.                                 Console.WriteLine($"Dragonwrath obtained!");
  99.                                 item["motes"] -= 250;
  100.                                 break;
  101.                             }
  102.                         }
  103.                         else
  104.                         {
  105.                             item["motes"] += materialQuantity;
  106.                             counterForBreaksMotes += materialQuantity;
  107.                             if (item["motes"] >= 250)
  108.                             {
  109.                                 Console.WriteLine($"Dragonwrath obtained!");
  110.                                 item["motes"] -= 250;
  111.                                 break;
  112.                             }
  113.                         }
  114.                     }
  115.                     else
  116.                     {
  117.                         if (!int.TryParse(inputMaterial, out num) && !itemJunk.ContainsKey(inputMaterial))
  118.                         {
  119.                             int materialQuantity = int.Parse(material[i - 1]);
  120.  
  121.                             itemJunk.Add(inputMaterial, materialQuantity);
  122.                         }
  123.                         else if (!int.TryParse(inputMaterial, out num))
  124.                         {
  125.                             itemJunk[inputMaterial] += int.Parse(material[i - 1]);
  126.                         }
  127.                     }
  128.                 }
  129.  
  130.                 if (counterForBreakFrag >= 250 || counterForBreaksMotes >= 250 || counterForBreaksShard >= 250)
  131.                 {
  132.                     break;
  133.                 }
  134.             }
  135.             if (!item.ContainsKey("fragments"))
  136.             {
  137.                 item.Add("fragments", 0);
  138.             }
  139.             if (!item.ContainsKey("shards"))
  140.             {
  141.                 item.Add("shards", 0);
  142.             }
  143.             if (!item.ContainsKey("motes"))
  144.             {
  145.                 item.Add("motes", 0);
  146.             }
  147.  
  148.             foreach (var items in item.OrderByDescending(x => x.Value).ThenBy(y => y.Key))
  149.             {
  150.                 Console.WriteLine($"{items.Key}: {items.Value}");
  151.             }
  152.             foreach (var itemss in itemJunk.OrderBy(x => x.Key))
  153.             {
  154.                 Console.WriteLine($"{itemss.Key}: {itemss.Value}");
  155.             }
  156.         }
  157.     }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement