static void Main(string[] args) { // input var n = int.Parse(Console.ReadLine()); // calculation var heroList = new List <BaseHero>(); for (int i = 0; i < n; i++) { var name = Console.ReadLine(); var type = Console.ReadLine(); BaseHero hero = CreateHero(type, name); if (hero == null) { Console.WriteLine("Invalid hero!"); } else { heroList.Add(hero); } } var bossPower = int.Parse(Console.ReadLine()); // output foreach (var item in heroList) { Console.WriteLine(item.CastAbility()); bossPower -= item.Power; } if (bossPower > 0) { Console.WriteLine("Defeat..."); } else { Console.WriteLine("Victory!"); } }
public static void Main(string[] args) { List <BaseHero> heroes = new List <BaseHero>(); int numberOfHeroes = int.Parse(Console.ReadLine()); while (heroes.Count < numberOfHeroes) { string heroName = Console.ReadLine(); string heroType = Console.ReadLine(); try { BaseHero newHero = HeroFactory.Build(heroType, heroName); heroes.Add(newHero); } catch (Exception ex) { Console.WriteLine(ex.Message); continue; } } int bossPower = int.Parse(Console.ReadLine()); int heroesPower = 0; if (0 < heroes.Count) { foreach (var hero in heroes) { heroesPower += hero.Power; Console.WriteLine(hero.CastAbility()); } } if (bossPower <= heroesPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public static void Main() { List <BaseHero> raidGroup = new List <BaseHero>(); HeroFactory factory = null; int neededHeroes = int.Parse(Console.ReadLine()); int countOfValidHeroes = 0; while (neededHeroes != countOfValidHeroes) { string heroName = Console.ReadLine(); string heroType = Console.ReadLine(); try { BaseHero hero = GetHero(heroName, heroType, factory); raidGroup.Add(hero); countOfValidHeroes++; } catch (InvalidOperationException ioe) { Console.WriteLine(ioe.Message); } } int bossPower = int.Parse(Console.ReadLine()); PrintAbilities(raidGroup); int totalDamageOfAllHeroes = SumTotalDamage(raidGroup); if (totalDamageOfAllHeroes >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public static void Main(string[] args) { var heroFactory = new HeroCreatorFactory(); int count = int.Parse(Console.ReadLine()); List <BaseHero> heroes = new List <BaseHero>(); while (count > 0) { try { string name = Console.ReadLine(); string type = Console.ReadLine(); BaseHero hero = heroFactory.CreateBaseHero(name, type); heroes.Add(hero); count--; } catch (ArgumentException exception) { Console.WriteLine(exception.Message); } } long bossPower = long.Parse(Console.ReadLine()); foreach (var hero in heroes) { Console.WriteLine(hero.CastAbility()); } long heroesPower = heroes.Sum(h => h.Power); if (heroesPower >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main(string[] args) { List <BaseHero> heroes = new List <BaseHero>(); int n = int.Parse(Console.ReadLine()); while (heroes.Count < n) { string heroName = Console.ReadLine(); string heroType = Console.ReadLine(); BaseHero hero = CreateHero(heroName, heroType); if (hero == null) { Console.WriteLine("Invalid hero!"); continue; } heroes.Add(hero); } int bossPower = int.Parse(Console.ReadLine()); foreach (var hero in heroes) { Console.WriteLine(hero.CastAbiliry()); bossPower -= hero.Power; } if (bossPower <= 0) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public static void Main() { int players = int.Parse(Console.ReadLine()); Dictionary <string, BaseHero> heroes = new Dictionary <string, BaseHero>(); while (heroes.Count < players) { string name = Console.ReadLine(); string type = Console.ReadLine(); BaseHero hero = CreateHero(type, name); if (hero == null) { Console.WriteLine("Invalid hero!"); } else { heroes.Add(name, hero); } } int bossPoints = int.Parse(Console.ReadLine()); int raidPoints = 0; if (heroes.Any()) { foreach (var hero in heroes.Values) { string ability = hero.CastAbility(); Console.WriteLine(ability); raidPoints += hero.Power; } } if (raidPoints >= bossPoints) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main(string[] args) { List <BaseHero> raidTeam = new List <BaseHero>(); int n = int.Parse(Console.ReadLine()); while (raidTeam.Count < n) { string name = Console.ReadLine(); string type = Console.ReadLine(); BaseHero hero = CreateHero(type, name); if (hero == null) { Console.WriteLine("Invalid hero!"); continue; } raidTeam.Add(hero); } int bossHealthPoints = int.Parse(Console.ReadLine()); foreach (BaseHero currenthero in raidTeam) { Console.WriteLine(currenthero.CastAbility()); } if (raidTeam.Sum(x => x.Power) >= bossHealthPoints) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
private static BaseHero CreateHero(string type, string name) { BaseHero hero = null; if (type == nameof(Druid)) { hero = new Druid(name); } else if (type == nameof(Paladin)) { hero = new Paladin(name); } else if (type == nameof(Rogue)) { hero = new Rogue(name); } else if (type == nameof(Warrior)) { hero = new Warrior(name); } return(hero); }
private static BaseHero CreateHero(string name, string type) { BaseHero hero = null; if (type == "Druid") { hero = new Druid(name); } else if (type == "Paladin") { hero = new Paladin(name); } else if (type == "Rogue") { hero = new Rogue(name); } else if (type == "Warrior") { hero = new Warrior(name); } return(hero); }
static void Main(string[] args) { List <BaseHero> raidGroup = new List <BaseHero>(); int value = int.Parse(Console.ReadLine()); while (raidGroup.Count != value) { string name = Console.ReadLine(); string type = Console.ReadLine(); bool typeIsUnknown = type != "Druid" && type != "Paladin" && type != "Rogue" && type != "Warrior"; if (typeIsUnknown) { Console.WriteLine("Invalid hero!"); } else { BaseHero hero = CreateHero(name, type); raidGroup.Add(hero); } } int bossPower = int.Parse(Console.ReadLine()); raidGroup.ForEach(x => Console.WriteLine(x.CastAbility())); int heroesTotalPower = raidGroup.Any() ? raidGroup.Sum(x => x.Power) : 0; if (heroesTotalPower >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main(string[] args) { int lines = int.Parse(Console.ReadLine()); HeroCreator creator = null; List <BaseHero> group = new List <BaseHero>(); BaseHero hero = null; for (int i = 0; i < lines; i++) { string name = Console.ReadLine(); string type = Console.ReadLine(); switch (type.ToLower()) { case "druid": creator = new DruidCreator(name); hero = creator.CreateHero(); group.Add(hero); Console.WriteLine(hero.CastAbility()); break; case "paladin": creator = new PaladinCreator(name); hero = creator.CreateHero(); group.Add(hero); Console.WriteLine(hero.CastAbility()); break; case "rogue": creator = new RogueCreator(name); hero = creator.CreateHero(); group.Add(hero); Console.WriteLine(hero.CastAbility()); break; case "warrior": creator = new WarriorCreator(name); hero = creator.CreateHero(); group.Add(hero); Console.WriteLine(hero.CastAbility()); break; default: Console.WriteLine("Invalid hero!"); lines++; break; } } int bossPower = int.Parse(Console.ReadLine()); int groupPower = 0; if (group.Count > 0) { foreach (var unit in group) { groupPower += unit.Power; } } if (bossPower <= groupPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main() { int amountOfHeroes = int.Parse(Console.ReadLine()); List <BaseHero> baseHeroes = new List <BaseHero>(); int totalPower = 0; for (int i = 0; i < amountOfHeroes; i++) { string name = Console.ReadLine(); string heroType = Console.ReadLine(); BaseHero hero = null; if (heroType == "Druid") { hero = new Druid(name); } else if (heroType == "Paladin") { hero = new Paladin(name); } else if (heroType == "Rogue") { hero = new Rogue(name); } else if (heroType == "Warrior") { hero = new Warrior(name); } else { Console.WriteLine("Invalid hero!"); } if (hero != null) { baseHeroes.Add(hero); totalPower += hero.Power; } else { i--; } } int bossPower = int.Parse(Console.ReadLine()); if (baseHeroes.Count == 0) { Console.WriteLine("Defeat..."); return; } foreach (BaseHero hero in baseHeroes) { Console.WriteLine(hero.CastAbility()); } if (bossPower <= totalPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); List <BaseHero> heroes = new List <BaseHero>(); string heroName = Console.ReadLine(); string heroType = Console.ReadLine(); BaseHero hero = null; while (true) { if (!isHeroTypeValid(heroType)) { Console.WriteLine("Invalid hero!"); } else { if (heroType == "Druid") { hero = new Druid(heroName); } else if (heroType == "Paladin") { hero = new Paladin(heroName); } else if (heroType == "Rogue") { hero = new Rogue(heroName); } else if (heroType == "Warrior") { hero = new Warrior(heroName); } heroes.Add(hero); } if (heroes.Count == n) { break; } heroName = Console.ReadLine(); heroType = Console.ReadLine(); } int bossPower = int.Parse(Console.ReadLine()); int heroesPower = 0; foreach (BaseHero currentHero in heroes) { //must cast all heroes? Console.WriteLine(currentHero.CastAbility()); heroesPower += currentHero.Power; } if (heroesPower >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
static void Main(string[] args) { int dmg = 0; List <BaseHero> counter = new List <BaseHero>(); int n = int.Parse(Console.ReadLine()); while (true) { BaseHero currentHero = null; string name = Console.ReadLine(); string typeOfHero = Console.ReadLine(); if (typeOfHero == nameof(Druid)) { currentHero = new Druid(name); } else if (typeOfHero == nameof(Paladin)) { currentHero = new Paladin(name); } else if (typeOfHero == nameof(Rogue)) { currentHero = new Rogue(name); } else if (typeOfHero == nameof(Warrior)) { currentHero = new Warrior(name); } else { Console.WriteLine("Invalid hero!"); continue; } Console.WriteLine(currentHero.CastAbility()); dmg += currentHero.Power; if (currentHero != null) { counter.Add(currentHero); if (counter.Count == n) { break; } } } int bossHealth = int.Parse(Console.ReadLine()); if (dmg >= bossHealth) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }