SHARE
TWEET

Untitled

a guest Dec 3rd, 2019 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace P09.BattleManager
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Dictionary<string, int> healthProfile = new Dictionary<string, int>();
  12.             Dictionary<string, int> energyProfile = new Dictionary<string, int>();
  13.  
  14.             string line = Console.ReadLine();
  15.             while (line != "Results")
  16.             {
  17.                 string[] cmdArgs = line.Split(":");
  18.                 string command = cmdArgs[0];
  19.                 switch (command)
  20.                 {
  21.                     case "Add":
  22.                         string username = cmdArgs[1];
  23.                         int health = int.Parse(cmdArgs[2]);
  24.                         int energy = int.Parse(cmdArgs[3]);
  25.                         if (!healthProfile.ContainsKey(username))
  26.                         {
  27.                             healthProfile.Add(username, 0);
  28.                             energyProfile.Add(username, energy);
  29.                         }
  30.                         healthProfile[username] += health;
  31.                         break;
  32.                     case "Attack":
  33.                         string attacker = cmdArgs[1];
  34.                         string defender = cmdArgs[2];
  35.                         int damage = int.Parse(cmdArgs[3]);
  36.                         if (healthProfile.ContainsKey(attacker))
  37.                         {
  38.                             healthProfile[defender] -= damage;
  39.                             if (healthProfile[defender] <= 0)
  40.                             {
  41.                                 healthProfile.Remove(defender);
  42.                                 energyProfile.Remove(defender);
  43.                                 Console.WriteLine($"{defender} was disqualified!");
  44.                             }
  45.                             energyProfile[attacker]--;
  46.                             if (energyProfile[attacker] <= 0)
  47.                             {
  48.                                 healthProfile.Remove(attacker);
  49.                                 energyProfile.Remove(attacker);
  50.                                 Console.WriteLine($"{attacker} was disqualified!");
  51.                             }
  52.                         }
  53.                         break;
  54.                     case "Delete":
  55.                         string user = cmdArgs[1];
  56.                         if (user == "All")
  57.                         {
  58.                             healthProfile.Clear();
  59.                             energyProfile.Clear();
  60.                         }
  61.                         else
  62.                         {
  63.                             if (healthProfile.ContainsKey(user))
  64.                             {
  65.                                 healthProfile.Remove(user);
  66.                                 energyProfile.Remove(user);
  67.                             }
  68.                         }
  69.                         break;
  70.                     default:
  71.                         break;
  72.                 }
  73.                 line = Console.ReadLine();
  74.             }
  75.             Console.WriteLine($"People count: {healthProfile.Keys.Count}");
  76.             foreach (var user in healthProfile.OrderByDescending(u => u.Value).ThenBy(n => n.Key))
  77.             {
  78.                 Console.WriteLine($"{user.Key} - {user.Value} - {energyProfile[user.Key]}");
  79.             }
  80.         }
  81.     }
  82. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top