public Engine() { this.heroes = new List <BaseHero>(); this.heroFactory = new HeroFactory(); this.reader = new Reader(); this.writer = new Writer(); }
public Engine(IReader reader, IWriter writer) { this.reader = reader; this.writer = writer; this.heroes = new List <IBaseHero>(); this.heroFactory = new HeroFactory(); }
public void Run() { IHeroFactory heroFactory = new HeroFactory(); IHero hero = null; List <IHero> heroes = new List <IHero>(); int raidPower = 0; int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { string name = Console.ReadLine(); string type = Console.ReadLine(); try { hero = heroFactory.MakeHero(type, name); heroes.Add(hero); } catch (ArgumentException e) { Console.WriteLine(e.Message); i--; } } int bossPower = int.Parse(Console.ReadLine()); foreach (var her in heroes) { Console.WriteLine(her.CastAbility()); raidPower += her.Power; } if (raidPower >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public void Run() { int n = int.Parse(Console.ReadLine()); HeroFactory factory = new HeroFactory(); BaseHero hero = null; int count = 0; while (count < n) { var heroname = Console.ReadLine(); var herotype = Console.ReadLine(); try { hero = factory.CreateHero(heroname, herotype); heroes.Add(hero); count++; } catch (Exception e) { Console.WriteLine(e.Message); } } int bosshealth = int.Parse(Console.ReadLine()); int totalpower = 0; foreach (var item in heroes) { Console.WriteLine(item.CastAbility()); totalpower += item.Power; } if (totalpower >= bosshealth) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public void Run() { int heroesCont = int.Parse(Console.ReadLine()); while (heroesCont != heroes.Count) { string heroName = Console.ReadLine(); string heroType = Console.ReadLine(); BaseHero hero = null; try { hero = HeroFactory.CreateHero(heroName, heroType); heroes.Add(hero); } catch (IvalidWariorException ex) { Console.WriteLine(ex.Message); } } int bossPower = int.Parse(Console.ReadLine()); foreach (var hero in heroes) { Console.WriteLine(hero.CastAbility()); } int powerSum = heroes.Sum(x => x.Power); if (powerSum >= bossPower) { Console.WriteLine("Victory!"); } else { Console.WriteLine("Defeat..."); } }
public Engine() { this.heroFactory = new HeroFactory(); this.heroes = new List <IHero>(); }
public Engine() { heroFactory = new HeroFactory(); }
public Engine() { hero = null; heroFactory = new HeroFactory(); raid = new List <IHero>(); }
public Engine() { heroes = new List <BaseHero>(); heroFactory = new HeroFactory(); }
public Engine() { this.raidGroup = new List <BaseHero>(); this.heroFactory = new HeroFactory(); }
public void Run() { HeroFactory factory = null; int heroCount = 0; List <BaseHero> Heroes = new List <BaseHero>(); int N = int.Parse(reader.ReadLine()); while (heroCount < N) { string heroName = reader.ReadLine(); string heroType = reader.ReadLine(); try { switch (heroType) { case "Druid": factory = new DruidFactory(heroName); break; case "Paladin": factory = new PaladinFactory(heroName); break; case "Rogue": factory = new RogueFactory(heroName); break; case "Warrior": factory = new WarriorFactory(heroName); break; default: throw new InvalidHeroException(); } Heroes.Add(factory.GetBaseHero()); heroCount++; } catch (InvalidHeroException ihe) { writer.WriteLine(ihe.Message); } } int bossPower = int.Parse(reader.ReadLine()); int totalPower = 0; foreach (var hero in Heroes) { writer.WriteLine(hero.CastAbility()); totalPower += hero.Power; } if (totalPower >= bossPower) { writer.WriteLine("Victory!"); } else { writer.WriteLine("Defeat..."); } }