Exemplo n.º 1
0
        public void SimulateGame()
        {
            IHero    hero    = HeroFactory.CreateHero();
            IMonster monster = MonsterFactory.CreateMonster();

            while (!hero.IsDead && !monster.IsDead)
            {
                var rng = new Random();
                int num = rng.Next(0, 100);

                if (num < 50)
                {
                    var w = hero.ActiveWeapon;
                    monster.SubtractHealth(w.Damage);

                    Console.WriteLine($"'{hero.Name}' je napao/la žrtvu '{monster.Name}' pomoću oružja '{w.Name}'");
                }
                else
                {
                    var attack = monster.AttackTypes[rng.Next(0, monster.AttackTypes.Length)];
                    hero.SubtractHealth(attack.Damage);

                    Console.WriteLine($"'{monster.GetType().Name}' je napao/la '{hero.GetType().Name}' pomoću oružja '{attack.Name}'");
                }
            }

            if (hero.IsDead)
            {
                Console.WriteLine($"'{hero.Name}' je pobedio/la u duelu sa '{monster.Name}'");
            }
            else
            {
                Console.WriteLine($"'{monster.Name}' je pobedio/la u duelu sa '{hero.Name}'");
            }
        }
Exemplo n.º 2
0
        public void SimulateDropAndPickupByOtherHero()
        {
            IHero swordsmanOne = HeroFactory.CreateSwordsman();
            IHero swordsmanTwo = HeroFactory.CreateSwordsman();

            IHeroWeapon w = swordsmanOne.DropWeapon();
            IHeroWeapon _ = swordsmanTwo.DropWeapon();


            swordsmanTwo.PickUpWeapon(w);

            Console.WriteLine($"'{swordsmanTwo.Name}' je pokupio oružje '{w.Name}'");
        }
Exemplo n.º 3
0
        public void SimulateWeaponDropAndPickup()
        {
            IHero wizard    = HeroFactory.CreateWizard();
            IHero swordsman = HeroFactory.CreateSwordsman();

            IHeroWeapon magic = wizard.DropWeapon();
            IHeroWeapon _     = wizard.DropWeapon();

            swordsman.PickUpWeapon(new Spear(15));

            try
            {
                swordsman.PickUpWeapon(magic);
            }
            catch (BackpackFullException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (IllegalWeaponException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemplo n.º 4
0
 public GameSimulation()
 {
     HeroFactory    = new HeroFactory();
     MonsterFactory = new MonsterFactory();
 }