Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _03.NetherRealms
- {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text.RegularExpressions;
- public class Daemons
- {
- public string Name { get; set; }
- public int Health { get; set; }
- public double Damage { get; set; }
- }
- public class NetherRealms
- {
- public static void Main()
- {
- var daemons = Console.ReadLine()
- .Split(new[] { ','}, StringSplitOptions.RemoveEmptyEntries)
- .Select(d => d.Trim())
- .ToList();
- var daemonsData = new List<Daemons>();
- foreach (var daemon in daemons)
- {
- if (daemon.Contains(' '))
- {
- continue;
- }
- var currDaemon = new Daemons();
- currDaemon.Name = daemon;
- foreach (var ch in daemon)
- {
- if (char.IsLetter(ch))
- {
- currDaemon.Health += (int)ch;
- }
- }
- var reg = new Regex(@"[-|+]*[0.0-9]+");
- var matches = reg.Matches(daemon);
- foreach (var match in matches)
- {
- currDaemon.Damage += double.Parse(match.ToString());
- }
- foreach (var item in daemon)
- {
- if (item.Equals('/'))
- {
- currDaemon.Damage /= 2;
- }
- if (item.Equals('*'))
- {
- currDaemon.Damage *= 2;
- }
- }
- daemonsData.Add(currDaemon);
- }
- foreach (var daemon in daemonsData.OrderBy(d => d.Name))
- {
- Console.WriteLine($"{daemon.Name} - {daemon.Health} health, {daemon.Damage:F2} damage");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement