public static void Main() { int n = int.Parse(Console.ReadLine()); List <BaseHero> raidGroup = new List <BaseHero>(n); while (raidGroup.Count < n) { string name = Console.ReadLine(); string type = Console.ReadLine(); Type heroType = Type.GetType($"_3.Raiding.{type}"); if (heroType == null) { Console.WriteLine("Invalid hero!"); continue; } BaseHero hero = (BaseHero)Activator.CreateInstance(heroType, name); raidGroup.Add(hero); } foreach (BaseHero hero in raidGroup) { Console.WriteLine(hero.CastAbility()); } int bossPower = int.Parse(Console.ReadLine()); int totalPower = raidGroup.Sum(x => x.Power); Console.WriteLine(totalPower >= bossPower ? "Victory!" : "Defeat..."); }
public static void Main(string[] args) { List <BaseHero> heroes = new List <BaseHero>(); int n = int.Parse(Console.ReadLine()); while (heroes.Count < n) { string name = Console.ReadLine(); string type = Console.ReadLine(); BaseHero hero = CreateHero(type, name); if (hero == null) { Console.WriteLine("Invalid hero!"); continue; } heroes.Add(hero); } int bossHealth = int.Parse(Console.ReadLine()); foreach (var hero in heroes) { Console.WriteLine(hero.CastAbility()); bossHealth -= hero.Power; } if (bossHealth <= 0) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }