Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- namespace Nether_Realms
- {
- class Program
- {
- static void Main(string[] args)
- {
- var demons = Console.ReadLine().Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
- var demonBook = new SortedDictionary<string, string>();
- foreach(var demon in demons)
- {
- var health = GetHealth(demon);
- var damage = GetDamage(demon);
- demonBook[demon] = $"{demon} - {health} health, {damage:f2} damage";
- }
- foreach(var demon in demonBook)
- {
- Console.WriteLine(demon.Value);
- }
- }
- private static object GetDamage(string demon)
- {
- Regex pattern = new Regex(@"(\-|\+|)[0-9]+(\.|[0-9]|)([0-9]+|)");
- var damageItems = pattern.Matches(demon);
- double damage = 0;
- foreach (var item in damageItems)
- {
- damage += double.Parse(item.ToString());
- }
- Regex multipliers = new Regex(@"[\*\/]");
- var muliplierItems = multipliers.Matches(demon);
- foreach(var item in muliplierItems)
- {
- foreach(var mult in item.ToString())
- {
- if (mult.Equals('/'))
- {
- damage /= 2;
- }
- else
- {
- damage*=2;
- }
- }
- }
- return damage;
- }
- private static object GetHealth(string demon)
- {
- Regex pattern = new Regex(@"[^0-9\+\-\*\/\.]");
- var healthItems = pattern.Matches(demon);
- var health = 0;
- foreach(var item in healthItems)
- {
- foreach(var hp in item.ToString())
- {
- health += (int)hp;
- }
- }
- return health;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement