Inheritance: Enemy
Example #1
0
        public void BookOfWisdomWorksForWizards()
        {
            Scenario scenario = new Scenario();
            Wizard   gandalf  = new Wizard();
            Orc      orc      = new Orc();

            Excalibur sword = new Excalibur();

            gandalf.AddItem(sword);

            List <CharacterClass> heroes = new List <CharacterClass>()
            {
                gandalf
            };
            List <CharacterClass> villains = new List <CharacterClass>()
            {
                orc
            };

            BattleEncounter battle = new BattleEncounter(heroes, villains);

            List <List <CharacterClass> > everything = battle.PlayEncounter();

            Assert.AreEqual($"-{everything[1][0].Name} has been slain by {everything[0][0].Name}", everything[0][0].Registres.ShowRegistres());
        }
Example #2
0
        public void BattleEncounterEndsWhenEveryoneOnOneSideDiesTest()
        {
            Scenario scenario = new Scenario();

            Dwarf     gimli   = new Dwarf();
            Elf       legolas = new Elf();
            ChosenOne aragorn = new ChosenOne();
            Wizard    gandalf = new Wizard();

            Orc orc  = new Orc();
            Orc orc2 = new Orc();
            Orc orc3 = new Orc();
            Orc orc4 = new Orc();

            List <CharacterClass> heroes = new List <CharacterClass>()
            {
                gimli, legolas, aragorn, gandalf
            };
            List <CharacterClass> villains = new List <CharacterClass>()
            {
                orc, orc2, orc3, orc4
            };

            BattleEncounter battle = new BattleEncounter(heroes, villains);

            List <List <CharacterClass> > everything = battle.PlayEncounter();

            Assert.AreEqual(0, everything[1][0].HealthActual + everything[1][1].HealthActual + everything[1][2].HealthActual + everything[1][3].HealthActual);
        }
Example #3
0
        public void WhatIfThereAreMoreEnemiesThanHeroes()
        {
            Scenario scenario = new Scenario();

            Dwarf     gimli   = new Dwarf();
            Elf       legolas = new Elf();
            ChosenOne aragorn = new ChosenOne();
            Wizard    gandalf = new Wizard();

            Orc orc  = new Orc();
            Orc orc2 = new Orc();
            Orc orc3 = new Orc();
            Orc orc4 = new Orc();
            Orc orc5 = new Orc();

            List <CharacterClass> heroes = new List <CharacterClass>()
            {
                gimli, legolas, aragorn, gandalf
            };
            List <CharacterClass> villains = new List <CharacterClass>()
            {
                orc, orc2, orc3, orc4, orc5
            };

            BattleEncounter battle = new BattleEncounter(heroes, villains);

            List <List <CharacterClass> > everything = battle.PlayEncounter();

            Assert.IsTrue(battle.EveryoneDead(everything[1]));
        }
Example #4
0
        public void BattleEncounterWithArmorAndWeaponsTest()
        {
            Scenario scenario = new Scenario();
            Dwarf    gimli    = new Dwarf();
            Orc      orc      = new Orc();

            BasicSword sword = new BasicSword();
            ChainMail  armor = new ChainMail();
            GoldenCoat coat  = new GoldenCoat();

            orc.AddItem(sword);
            orc.AddItem(armor);
            orc.AddItem(coat);

            List <CharacterClass> heroes = new List <CharacterClass>()
            {
                gimli
            };
            List <CharacterClass> villains = new List <CharacterClass>()
            {
                orc
            };

            BattleEncounter battle = new BattleEncounter(heroes, villains);

            List <List <CharacterClass> > everything = battle.PlayEncounter();

            Assert.AreEqual(0, everything[0][0].HealthActual);
        }
Example #5
0
        public void TestOrc()
        {
            Orc    p2 = new Orc();
            Player j2 = new Player(p2, 15, "Mathieu");

            Assert.IsTrue(j2.getFaction() is Orc);
        }
            public override void Create()
            {
                Name = "Plains";

                var earth1 = new Earth();
                var earth2 = new Earth();

                Elements = new Element[]
                {
                    earth1, earth2
                };

                foreach (var element in Elements)
                {
                    element.Create();
                }

                var human1 = new Human();
                var human2 = new Human();
                var animal = new Animal();
                var orc    = new Orc();

                Creatures = new Creature[]
                {
                    human1, human2, animal, orc
                };

                foreach (var creature in Creatures)
                {
                    creature.Create();
                }
            }
Example #7
0
        public void AddOrc(string name)
        {
            Orc Garrosh = new Orc();

            Garrosh.Name = name;
            orcList.Add(Garrosh);
        }
Example #8
0
        public static Character Level60()
        {
            var itemRepository = new InMemoryFindItems();
            var items          = new Dictionary <SlotType, Item>
            {
                { SlotType.Helmet, itemRepository.FindByName("Lionheart Helm") },
                { SlotType.Neck, itemRepository.FindByName("Barbed Choker") },
                { SlotType.Shoulder, itemRepository.FindByName("Conqueror's Spaulders") },
                { SlotType.Back, itemRepository.FindByName("Cloak of Concentrated Hatred") },
                { SlotType.Chest, itemRepository.FindByName("Breastplate of Annihilation") },
                { SlotType.Wrist, itemRepository.FindByName("Hive Defiler Wristguards") },
                { SlotType.Waist, itemRepository.FindByName("Onslaught Girdle") },
                { SlotType.Legs, itemRepository.FindByName("Conqueror's Legguards") },
                { SlotType.Feet, itemRepository.FindByName("Chromatic Boots") },
                { SlotType.Ring1, itemRepository.FindByName("Master Dragonslayer's Ring") },
                { SlotType.Ring2, itemRepository.FindByName("Quick Strike Ring") },
                { SlotType.Trinket1, itemRepository.FindByName("Drake Fang Talisman") },
                { SlotType.Trinket2, itemRepository.FindByName("Hand of Justice") },
                { SlotType.MainHand, itemRepository.FindByName("R14 Longsword") },
                { SlotType.Ranged, itemRepository.FindByName("Striker's Mark") }
            };

            var level   = new Level(60);
            var race    = new Orc();
            var warrior = new Warrior(race, level);

            var equipment = new Equipment(items);
            var character = new Character(warrior, equipment);

            return(character);
        }
Example #9
0
 // Use this for initialization
 void Start()
 {
     orc                = GetComponent <Orc>();
     healthbar          = GetComponentInChildren <Slider>();
     healthbar.maxValue = orc.MHealth;
     healthbar.minValue = 0;
 }
        public void Run()
        {
            var target = new Mob(
                "Golemagg the Incinerator",
                new Health(826088),
                new Level(63),
                new Defense(315),
                new Dodge(0),
                Parry.Zero,
                new ArmorAmount(4641));

            var level   = new Level(60);
            var race    = new Orc();
            var warrior = new Warrior(race, level);

            var equipment = new Equipment(null);
            var character = new Character(warrior, equipment);

            // figure out hit chance
            // if target is 3 levels higher add one more %hit required.

            // 100% chance
            // take away target dodge (5%) account for difference in player weapon and target defense skills (source: https://github.com/magey/classic-warrior/wiki/Attack-table#dodge)
            // take away target parry (14%) account for difference in player weapon and target defense skills
            // take away block chance (5%) account for difference in player weapon and target defense skills  (source: https://github.com/magey/classic-warrior/wiki/Attack-table#block)
            // take away your chance to miss with main hand (two or one hander) (8%) (oponent defense vs your weapon skill + your hit rating)
            // take away your chance to miss with offhand (when dual wielding) (24%) (oponent defense vs your weapon skill + your hit rating)
            // glancing blows on white damage (40%) which causes (35% damage reduction if your weapon skill is less than target defense) (source: https://github.com/magey/classic-warrior/wiki/Attack-table#glancing-blows)
            // ====== hits from here
            // take away crit based on crit chance capped at hit chance
            // whatever is left is a hit
        }
Example #11
0
        /// <summary>
        /// Criar carta do tipo Criatura/Orc
        /// </summary>
        /// <param name="numCarta">Número que corresponde ao nº da carta a ser criada (1º carta ou 2º carta)</param>
        public void CriarCartaCriaturaOrc(int numCarta)
        {
            Random rng;

            rng = GerarRandom(numCarta);

            int cor, custo, numHabilidade, habilidade1, habilidade2, descricao, ataque, defesa;

            cor           = rng.Next(0, 5);
            custo         = rng.Next(1, 6);
            numHabilidade = rng.Next(0, 3);
            habilidade1   = rng.Next(0, 5);
            descricao     = rng.Next(0, 5);
            ataque        = rng.Next(1, 6);
            defesa        = rng.Next(1, 6);

            do
            {
                habilidade2 = rng.Next(0, 5);
            } while (habilidade2 == habilidade1);

            CartaCriaturaOrc = new Orc(cor, custo, numHabilidade, habilidade1, habilidade2, descricao, ataque, defesa, Habilidades);

            if (numCarta == 1)
            {
                AcaoHabilidade1 = CartaCriaturaOrc.AcaoHabilidade;
                Ataque1         = CartaCriaturaOrc.AtaqueCriatura;
            }
            else
            {
                AcaoHabilidade2 = CartaCriaturaOrc.AcaoHabilidade;
                Ataque2         = CartaCriaturaOrc.AtaqueCriatura;
            }
        }
Example #12
0
    public void StatsPrevious()
    {
        FindObjectOfType <AudioManager>().Play("Button Click");
        Orc orcCurrent = orcs.First(o => o.orcNum == currentOrc);
        Orc orcTarget  = orcs.First(o => o.orcNum == currentOrc - 1);

        if (currentOrc <= 3)
        {
            orcCurrent.orcName    = statsManager.nameInput.text;
            orcCurrent.orcAttack  = statsManager.attackStats.Count();
            orcCurrent.orcDefence = statsManager.defenceStats.Count();
            orcCurrent.orcMagic   = statsManager.magicStats.Count();

            statsManager.nameInput.text = orcTarget.orcName;
            previousAttack  = orcTarget.orcAttack + 2;
            previousDefence = orcTarget.orcDefence + 2;
            previousMagic   = orcTarget.orcMagic + 2;

            if (currentOrc > 1)
            {
                currentOrc--;
                Debug.Log("Orc is now " + currentOrc);
                previousPopup = true;
            }
        }
    }
        public void Battle_ReturnLogsBattleOne_ReturnsString()
        {
            //Arrange
            FireElve    c1 = new FireElve();
            Dragon      c2 = new Dragon();
            Orc         c3 = new Orc();
            Wizzard     c4 = new Wizzard();
            FireSpell   c5 = new FireSpell();
            WaterSpell  c6 = new WaterSpell();
            Goblin      c7 = new Goblin();
            NormalSpell c8 = new NormalSpell();

            List <Card> deckOne = new List <Card>();
            List <Card> deckTwo = new List <Card>();

            deckOne.Add(c7); deckOne.Add(c3); deckOne.Add(c8); deckOne.Add(c5); deckOne.Add(c6);
            deckTwo.Add(c1); deckTwo.Add(c2); deckTwo.Add(c3); deckTwo.Add(c4); deckTwo.Add(c5);


            BattleHandler game   = new BattleHandler(deckOne, deckTwo);
            int           winner = game.Battle(); // Player One wins here!

            // Act
            List <String> logEntrys = game.ReturnLogs();
            String        lastLog   = logEntrys.Last();

            // Assert
            Assert.IsNotNull(lastLog);
        }
        public void Battle_DeterminesWinnerOne_ReturnsInt()
        {
            //Arrange
            FireElve    c1 = new FireElve();
            Dragon      c2 = new Dragon();
            Orc         c3 = new Orc();
            Wizzard     c4 = new Wizzard();
            FireSpell   c5 = new FireSpell();
            WaterSpell  c6 = new WaterSpell();
            Goblin      c7 = new Goblin();
            NormalSpell c8 = new NormalSpell();

            List <Card> deckOne = new List <Card>();
            List <Card> deckTwo = new List <Card>();

            deckOne.Add(c7); deckOne.Add(c3); deckOne.Add(c8); deckOne.Add(c5); deckOne.Add(c6);
            deckTwo.Add(c1); deckTwo.Add(c2); deckTwo.Add(c3); deckTwo.Add(c4); deckTwo.Add(c5);


            BattleHandler game = new BattleHandler(deckOne, deckTwo);

            // Act
            int winner = game.Battle();

            // Assert
            Assert.AreEqual(1, winner);
        }
Example #15
0
    void Start()
    {
        Humanoid orc = new Orc();

        orc.Yell();
        ((Orc)orc).Yell();
    }
Example #16
0
    public void details(string race)
    {
        Race selected;

        switch (race)
        {
        case "Elf":
            selected = new Elf();
            break;

        case "Human":
            selected = new Human();
            break;

        case "Orc":
            selected = new Orc();
            break;

        default:
            selected = new Race();
            break;
        }

        this.gameObject.transform.GetChild(0).GetComponent <Text>().text = selected.Name();
        this.gameObject.transform.GetChild(1).GetComponent <Text>().text = selected.Description();
        this.gameObject.transform.GetChild(2).GetComponent <Text>().text = selected.StatMods();
        this.gameObject.transform.GetChild(3).GetComponent <Text>().text = selected.Experience();
        this.gameObject.transform.GetChild(4).GetComponent <Text>().text = selected.RacialSkill();
    }
Example #17
0
    void Start()
    {
        IArchor[] archors = new IArchor[2];

        Orc  orc  = new Orc("오크 궁수", "옼!", 100);
        Hero hero = new Hero();

        archors[0] = orc;
        archors[1] = hero;

        foreach (var a in archors)
        {
            a.ShootBow();
        }

        IWalkable[] walkers = new IWalkable[2];
        Troll       troll   = new Troll("걷는 트롤", 150);

        walkers[0] = hero;
        walkers[1] = troll;

        foreach (var w in walkers)
        {
            w.Walk();
            Debug.Log("걸어온 거리 : " + w.walkedDistance);
        }
    }
        static void Task02()
        {
            var observer = new Observer();

            var Aragorn   = new Human(observer);
            var Ugluk     = new Orc(observer);
            var Galadriel = new Elf(observer);

            var allHeroes = new BaseCharacter[] { Aragorn, Ugluk, Galadriel };

            Ugluk.TakeWeapon(new Scimitar());

            while (Aragorn.IsAlive && Ugluk.IsAlive)
            {
                Aragorn.Hit(Ugluk);
                Ugluk.Hit(Aragorn);
                Galadriel.Heal(Aragorn);
                Galadriel.Hit(Ugluk);
            }

            Console.WriteLine();
            foreach (BaseCharacter hero in allHeroes)
            {
                Console.WriteLine($"Is {hero.GetType().Name} alive?: {hero.IsAlive}");
            }
        }
Example #19
0
        void SetupObjects(string input, int y)
        {
            string[] inputs = input.Split(' ');
            for (int x = 0; x < inputs.Length; x++)
            {
                switch (inputs[x])
                {
                case "2":
                    _tempEnemyArr[x, y] = new Orc();
                    break;

                case "3":
                    _tempObjArr[x, y] = new Goal();
                    break;

                case "4":
                    _tempObjArr[x, y] = new Health_Pickup();
                    break;

                case "5":
                    _tempEnemyArr[x, y] = new Barrel();
                    break;
                }
            }
        }
        static void Main(string[] args)
        {
            Character character = new Human(0, "Jack", 100, 100);

            character.CastSpell();
            character.SetSpell(new FireSpell(30, 100, 20));
            character.CastSpell();
            character.SetSpell(new IceSpell(30, 50, 20));
            character.CastSpell();
            character.SetSpell(new CurseSpell(40, 60, 20));
            character.CastSpell();

            character = new Orc(1, "Gary", 100, 100);
            character.CastSpell();
            character.SetSpell(new FireSpell(30, 100, 20));
            character.CastSpell();
            character.SetSpell(new IceSpell(30, 50, 20));
            character.CastSpell();
            character.SetSpell(new CurseSpell(40, 60, 20));
            character.CastSpell();

            character = new Vampire(2, "Prince", 100, 100);
            character.CastSpell();
            character.SetSpell(new FireSpell(30, 100, 20));
            character.CastSpell();
            character.SetSpell(new IceSpell(30, 50, 20));
            character.CastSpell();
            character.SetSpell(new CurseSpell(40, 60, 20));
            character.CastSpell();

            Console.ReadLine();
        }
Example #21
0
        public IActionResult EnemiesTurn()
        {
            int     PlayerId = (int)HttpContext.Session.GetInt32("PlayerId");
            Player  Player1  = _context.player.SingleOrDefault(p => p.PlayerId == PlayerId);
            int?    enconId  = HttpContext.Session.GetInt32("EncounterId");
            Enemies monster  = _context.enemies.Where(m => m.EncountersId == enconId && m.life == true).First();

            Story newStory = new Story();

            if (monster.name == "Spider")
            {
                Spider spider    = _context.spider.Where(m => m.EncountersId == enconId && m.life == true).First();
                int    spideratt = spider.RandomSpiderAttack(Player1);
                newStory.storyBook  = "You were attacked by " + monster.name + " for " + spideratt + " damage";
                newStory.created_at = DateTime.Now;
                newStory.PlayerId   = PlayerId;
                newStory.flag       = 3;
            }
            else if (monster.name == "Zombie")
            {
                Zombie zombie     = _context.zombie.Where(m => m.EncountersId == enconId && m.life == true).First();
                int    zombireatt = zombie.RandomZombieAttack(Player1);
                newStory.storyBook  = "You were attacked by " + monster.name + " for " + zombireatt + " damage";
                newStory.created_at = DateTime.Now;
                newStory.PlayerId   = PlayerId;
                newStory.flag       = 3;
            }
            else if (monster.name == "Orc")
            {
                Orc orc    = _context.orc.Where(m => m.EncountersId == enconId && m.life == true).First();
                int orcatt = orc.RandomOrcAttack(Player1);
                newStory.storyBook  = "You were attacked by " + monster.name + " for " + orcatt + " damage";
                newStory.created_at = DateTime.Now;
                newStory.PlayerId   = PlayerId;
                newStory.flag       = 3;
            }
            else if (monster.name == "Dragon")
            {
                Dragon dragon    = _context.dragon.Where(m => m.EncountersId == enconId && m.life == true).First();
                int    dragonatt = dragon.RandomDragonAttack(Player1);
                newStory.storyBook  = "You were attacked by " + monster.name + " for " + dragonatt + " damage";
                newStory.created_at = DateTime.Now;
                newStory.PlayerId   = PlayerId;
                newStory.flag       = 3;
            }

            if (Player1.health <= 0)
            {
                Player1.health = 0;
                Player1.life   = false;
                _context.Add(newStory);
                _context.SaveChanges();
                return(RedirectToAction("GameOver"));
            }

            SetTemp(0);
            _context.Add(newStory);
            _context.SaveChanges();
            return(RedirectToAction("Moves"));
        }
Example #22
0
        public void CreateOrc(OrcCreateItem orcCreateItem)
        {
            Orc orc     = mapper.Map <Orc>(orcCreateItem);
            int hordeId = orcCreateItem.HordeId;

            orcRepository.SaveOrc(orc, hordeId);
        }
Example #23
0
    void Test()
    {
        Orc   orc   = new Orc("지나가는 오크", "옼! 옼!", 10);
        Troll troll = new Troll("서 있는 트롤", 100);

        // Debug.Log("오크");
        // orc.FindPlayerAction();

        // Debug.Log("트롤");
        // troll.FindPlayerAction();

        // Monster monster = new Monster("뭔지 모를 몬스터"); // 추상 클래스는 단독 객체 생성 불가능
        // monster.FindPlayerAction();

        Monster[] monsters = new Monster[2];
        monsters[0] = orc; // 자식 클래스 -> 부모 클래스 : 업캐스팅
        monsters[1] = troll;

        // Orc newOrc = (Orc)monsters[0]; // 부모 클래스 -> 자식 클래스 : 다운캐스팅
        // monsters[0].DoOnlyOrc(); // 자식이 구현한 내용을 부모가 사용할 수 없음

        foreach (var mon in monsters)
        {
            mon.FindPlayerAction();
            mon.Sleep(mon.sound);
        }
    }
Example #24
0
            protected override void OnTick()
            {
                foreach (Item ps in m_Owner.GetItemsInRange(m_Owner.Hue))
                {
                    if (ps != null && ps is XmlSpawner)
                    {
                        XmlSpawner sp = (XmlSpawner)ps;
                        if (ps.Hue == 10)
                        {
                            sp.Running = true;
                        }
                    }
                }

                if (m_Owner.Weight == 1.0)
                {
                    Orc orc = new Orc();
                    orc.MoveToWorld(m_Owner.Location, m_Owner.Map);
                    orc.Hidden = true;
                    Regions.GuardedRegion reg = (Regions.GuardedRegion)orc.Region.GetRegion(typeof(Regions.GuardedRegion));
                    if (reg != null && reg.Disabled)
                    {
                        reg.Disabled = false;
                    }

                    orc.Delete();
                }

                StopTimer(m_Owner);
                m_Owner.Delete();
            }
        public Orc Update(int id, int newHordeId, Orc updatedOrc)
        {
            DbOrc dbOrc = context.Orcs
                          .Include(o => o.Weapons)
                          .Include(o => o.Horde)
                          .ThenInclude(h => h.Orcs)
                          .FirstOrDefault(o => o.Id == id);

            if (dbOrc != null)
            {
                if (dbOrc.Horde != null)
                {
                    dbOrc.Horde.Orcs.Remove(dbOrc);
                }
                // A wewapos-t nem mappeli át!!!!!!!!!!!!!
                context.Entry(dbOrc).CurrentValues.SetValues(mapper.Map <DbOrc>(updatedOrc));

                DbHorde dbHorde = context.Hordes
                                  .Include(horde => horde.Orcs)
                                  .FirstOrDefault(horde => horde.Id == newHordeId);

                if (dbHorde != null)
                {
                    dbHorde.Orcs.Add(dbOrc);
                }
                context.SaveChanges();
            }
            return(mapper.Map <Orc>(dbOrc));
        }
Example #26
0
        public void TestMethod1()
        {
            var orc = new Orc();

            orc.ataque = 10;

            Assert.AreEqual(12, orc.Ataque);
        }
        public void LowRollShouldMiss()
        {
            IRollable d20        = new MockDie(7);
            Player    badFighter = new Player(d20);
            Orc       anOrc      = new Orc();

            Assert.IsFalse(badFighter.Attack(anOrc));
        }
Example #28
0
        public void Constructor_WithParameters_ReturnsTrue()
        {
            //Arrange
            Orc justOrc = new Orc("WhoThis?", 30, element.NORMAL, 17);

            //Assert
            Assert.AreEqual(justOrc.Name, "WhoThis?");
        }
Example #29
0
        public void Constructor_Base_ReturnsTrue()
        {
            //Arrange
            Orc justOrc = new Orc();

            // Assert
            Assert.IsTrue(justOrc.Name == "Orc-Warrior");
        }
        public void HighRollShouldHit()
        {
            IRollable d20         = new MockDie(18);
            Player    goodFighter = new Player(d20);
            Orc       anOrc       = new Orc();

            Assert.IsTrue(goodFighter.Attack(anOrc));
        }
Example #31
0
        static void Main(string[] args)
        {
            Orc Orc1 = new Orc();
            Orc_UsingCollectionInitializers Orc2 = new Orc_UsingCollectionInitializers();

            
            List<List<Orc>> OrcSquads = new List<List<Orc>>();
            var OrcSquads_UsingVar = new List<List<Orc>>();

            var fullname = new { firstName = "John", lastName = "Doe" };
        }
        public Character CreateCharacter(charactertype type)
        {
            Character character = null;

            if (type.Equals(charactertype.orc)) {
                character = new Orc();
            }
            else if (type.Equals(charactertype.sorcerer)) {
                character = new Sorcerer();
            }
            else if (type.Equals(charactertype.townperson)) {
                character = new TownPerson();
            }
            else if (type.Equals(charactertype.warrior)) {
                character = new Warrior();
            }
            return character;
        }