Advertisement
Guest User

Untitled

a guest
Nov 24th, 2023
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.72 KB | None | 0 0
  1. using System.Text.RegularExpressions;
  2.  
  3. var healthRegex = new Regex(@"[^+\-*/.\d]");
  4. var damageRegex = new Regex(@"-?\d+(\.\d+)?");
  5. var operatorsRegex = new Regex(@"\*|\/");
  6.  
  7. Console.ReadLine()?.Split(',', StringSplitOptions.TrimEntries).OrderBy(x => x).ToList()
  8.     .ForEach(name =>
  9.         {
  10.             var health = healthRegex.Matches(name).Select(k => (int)char.Parse(k.Value)).Sum();
  11.             var damage = damageRegex.Matches(name).Select(k => double.Parse(k.Value)).Sum();
  12.             damage = operatorsRegex.Matches(name).Select(k => k.Value)
  13.                 .Aggregate(damage, (k, j) => j == "*" ? k * 2 : k / 2);
  14.  
  15.             Console.WriteLine($"{name} - {health} health, {damage:f2} damage");
  16.         }
  17.     );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement