コード例 #1
0
        public void Run()
        {
            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($"Raiding.Models.{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...");
        }
コード例 #2
0
        public void Run()
        {
            int n = int.Parse(Console.ReadLine());

            while (n > 0)
            {
                string heroName = Console.ReadLine();
                string heroType = Console.ReadLine();
                try
                {
                    BaseHero hero = heroFactory.CreateHero(heroName, heroType);
                    heroes.Add(hero);
                    n--;
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }
            int bossPower = int.Parse(Console.ReadLine());

            foreach (var hero in heroes)
            {
                Console.WriteLine(hero.CastAbility());
            }
            if (heroes.Sum(x => x.Power) >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #3
0
        public void Run()
        {
            int numberOfInput = int.Parse(Console.ReadLine());

            while (true)
            {
                if (this.baseHeroes.Count == numberOfInput)
                {
                    break;
                }

                string heroName = Console.ReadLine();

                string heroType = Console.ReadLine();

                string baseNamespace = "Raiding.Models";

                Type type = Type.GetType($"{baseNamespace}.{heroType}");

                if (type == null)
                {
                    Console.WriteLine("Invalid hero!");
                    continue;
                }

                BaseHero hero = (BaseHero)Activator.CreateInstance(type, heroName);

                this.baseHeroes.Add(hero);
            }

            int bossPower = int.Parse(Console.ReadLine());

            if (this.baseHeroes.Any())
            {
                foreach (var hero in this.baseHeroes)
                {
                    bossPower -= hero.Power;

                    Console.WriteLine(hero.CastAbility());
                }
            }

            string finalMessage = bossPower > 0 ? "Defeat..." : "Victory!";

            Console.WriteLine(finalMessage);
        }
コード例 #4
0
ファイル: Engine.cs プロジェクト: iltodbul/SoftUni
        public void Run()
        {
            List <BaseHero> heroes = new List <BaseHero>();

            int numberOfHeroes = int.Parse(Console.ReadLine());

            while (heroes.Count != numberOfHeroes)
            {
                string name = Console.ReadLine();
                string type = Console.ReadLine();

                try
                {
                    BaseHero hero = this.heroFactory.ProduceHero(name, type);
                    heroes.Add(hero);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            int bossPower = int.Parse(Console.ReadLine());

            int herosPowerSum = 0;

            if (heroes.Any())
            {
                foreach (var hero in heroes)
                {
                    Console.WriteLine(hero.CastAbility());
                    herosPowerSum += hero.Power;
                }

                if (herosPowerSum >= bossPower)
                {
                    Console.WriteLine("Victory!");
                }
                else
                {
                    Console.WriteLine("Defeat...");
                }
            }
        }
コード例 #5
0
ファイル: Engine.cs プロジェクト: stelianraev/C-Sharp-OOP
        public void Run()
        {
            List <BaseHero> raidGroup     = new List <BaseHero>();
            int             n             = int.Parse(Console.ReadLine());
            int             createdHeroes = 0;

            while (createdHeroes != n)
            {
                string name     = Console.ReadLine();
                string typeHero = Console.ReadLine();

                BaseHero hero = null;

                try
                {
                    this.heroFactory = new HeroFactoryProduce();
                    hero             = this.heroFactory.ProduceHero(typeHero, name);
                    createdHeroes++;
                    raidGroup.Add(hero);
                }
                catch (InvalidHeroException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            int bossPower           = int.Parse(Console.ReadLine());
            var totalraidGroupPower = raidGroup.Sum(x => x.Power);

            foreach (var hero in raidGroup)
            {
                Console.WriteLine(hero.CastAbility());
            }

            if (totalraidGroupPower >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #6
0
ファイル: Engine.cs プロジェクト: ImPanayotov/SoftUni
        public void Run()
        {
            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string name = Console.ReadLine();
                string type = Console.ReadLine();

                BaseHero hero = null;

                try
                {
                    hero = this.heroFactory.CreateHero(name, type);
                    this.heroes.Add(hero);
                }
                catch (InvalidOperationException ioe)
                {
                    Console.WriteLine(ioe.Message);
                    i--;
                }
            }

            int bossPower = int.Parse(Console.ReadLine());

            int totalPower = 0;

            foreach (var hero in heroes)
            {
                Console.WriteLine(hero.CastAbility());
                totalPower += hero.Power;
            }

            if (totalPower >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #7
0
ファイル: Engine.cs プロジェクト: zhekov90/CSharp-OOP
        public void Run()
        {
            int n       = int.Parse(Console.ReadLine());
            int counter = 0;

            while (counter != n)
            {
                string name     = Console.ReadLine();
                string typeHero = Console.ReadLine();

                try
                {
                    BaseHero hero = FactoryHeroes.CreateHero(typeHero, name);

                    heroes.Add(hero);
                    counter++;
                }
                catch (Exception ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }

            double bossPower = double.Parse(Console.ReadLine());

            foreach (var hero in heroes)
            {
                Console.WriteLine(hero.CastAbility());
            }

            int sum = heroes.Sum(h => h.Power);

            if (sum >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #8
0
ファイル: Engine.cs プロジェクト: RositsaRuseva/CSharp
        public void Run()
        {
            int             n            = int.Parse(Console.ReadLine());
            List <BaseHero> listOfHeroes = new List <BaseHero>();

            int totalSum = 0;

            for (int i = 0; i < n; i++)
            {
                string name       = Console.ReadLine();
                string typeOfHero = Console.ReadLine();
                try
                {
                    BaseHero hero = CreateHero(name, typeOfHero);
                    listOfHeroes.Add(hero);
                    totalSum += hero.Power;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    i--;
                }
            }
            int powerOfBoss = int.Parse(Console.ReadLine());

            foreach (var hero in listOfHeroes)
            {
                Console.WriteLine(hero.CastAbility());
            }
            if (powerOfBoss <= totalSum)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
            //Console.WriteLine();
        }
コード例 #9
0
        public void Run()
        {
            int n       = int.Parse(Console.ReadLine());
            int counter = 0;

            while (counter < n)
            {
                string name     = Console.ReadLine();
                string typeHero = Console.ReadLine();

                try
                {
                    BaseHero hero = HeroCreator.CreateHero(typeHero, name);
                    raidGroup.Add(hero);
                    counter++;
                }
                catch (Exception ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }

            double bossPower       = double.Parse(Console.ReadLine());
            int    powerOfAlleroes = 0;

            foreach (var hero in raidGroup)
            {
                Console.WriteLine(hero.CastAbility());
                powerOfAlleroes += hero.Power;
            }
            if (powerOfAlleroes >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #10
0
        public void Run()
        {
            List <BaseHero> raidingGroup = new List <BaseHero>();

            int countHeros = int.Parse(Console.ReadLine());

            while (raidingGroup.Count < countHeros)
            {
                try
                {
                    string name = Console.ReadLine();
                    string type = Console.ReadLine();

                    BaseHero hero = this.heroFactory.CreateHero(name, type);

                    Console.WriteLine(hero.CastAbility());

                    raidingGroup.Add(hero);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    continue;
                }
            }

            int bossPower = int.Parse(Console.ReadLine());

            if (raidingGroup.Sum(h => h.Power) >= bossPower)
            {
                Console.WriteLine("Victory!");
            }
            else
            {
                Console.WriteLine("Defeat...");
            }
        }
コード例 #11
0
        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...");
            }
        }
コード例 #12
0
ファイル: Engine.cs プロジェクト: stefandenchev/Softuni
        public void Run()
        {
            HeroFactory heroFactory = new HeroFactory();
            int         n           = int.Parse(Console.ReadLine());
            int         counter     = 0;

            while (n != counter)
            {
                string name = Console.ReadLine();
                string type = Console.ReadLine();

                BaseHero hero = null;

                try
                {
                    hero = this.heroFactory.Create(name, type);
                    this.heroes.Add(hero);
                    counter++;
                }

                catch (InvalidOperationException ioe)
                {
                    Console.WriteLine(ioe.Message);
                }
            }

            int bossPower = int.Parse(Console.ReadLine());

            foreach (var hero in heroes)
            {
                Console.WriteLine(hero.CastAbility());
            }
            int heroPower = heroes.Sum(h => h.Power);

            WonOrNot(bossPower, heroPower);
        }