static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); int counter = 0; List <BaseHero> heroes = new List <BaseHero>(); while (counter != n) { string name = Console.ReadLine(); string heroType = Console.ReadLine(); try { BaseHero hero = HeroFactory.Create(name, heroType); heroes.Add(hero); counter++; } catch (ArgumentException ae) { Console.WriteLine(ae.Message); } } int bossHelth = int.Parse(Console.ReadLine()); int damage = 0; foreach (var hero in heroes) { Console.WriteLine(hero.CastAbility()); damage += hero.Power; } if (damage >= bossHelth) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main(string[] args) { List <BaseHero> heros = new List <BaseHero>(); int n = int.Parse(Console.ReadLine()); while (heros.Count != n) { string name = Console.ReadLine(); string type = Console.ReadLine(); try { BaseHero hero = CreateHero(name, type); heros.Add(hero); } catch (Exception ex) { Console.WriteLine(ex.Message); } } int bossPower = int.Parse(Console.ReadLine()); int heroesPower = heros.Sum(p => p.Power); foreach (var hero in heros) { Console.WriteLine(hero.CastAbility()); } if (heroesPower >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }