示例#1
0
    void OnGUI()
    {
        GUILayout.BeginArea(
            new Rect((Screen.width - width) / 2.0f, 0, width, height),
            GUI.skin.box
            );

        GUI.Label(
            new Rect(5, 3, 100, 25),
            String.Format("Villagers: {0} / {1}", villagerCount, SpawnVillagers.TotalVillagerCapacity()),
            CurrentCountSkin()
            );

        GUI.Label(new Rect(width - 150, 3, 150, 25), String.Format("Currently {0}", HutBuilding.CurrentStateDescriptor()));

        GUI.Label(
            new Rect(5, 28, 100, 25),
            String.Format("Orcs: {0} / {1}", Ork.AllOrks().Count(), Fort.TotalOrkCapacity())
            );

        GUI.Label(
            new Rect(width - 150, 28, 150, 25),
            String.Format("Time until next fort: {0}s", SpawnForts.TimeUntilNextSpawn())
            );

        GUI.Label(
            new Rect((width / 2f) - 35, 50, 80, 25),
            String.Format("Time: {0}", ProgressTracker.FormattedPlaytime())
            );

        GUILayout.EndArea();
    }
        static void Main(string[] args)
        {
            Player player = new Player();

            Ork ork1 = new Ork();

            //ork1.PrintMethod();
            DarkWizard darkWizard = new DarkWizard();
            //darkWizard.PrintMethod();
            NPC npc2 = new DarkWizard();

            //npc2.PrintMethod();

            NPC[] ncps =
            {
                new DarkWizard(),
                new Enemy(),
                new DarkWizard(),
                new NPC()
            };
            ncps[0].PrintMethod();
            ncps[1].PrintMethod();
            ncps[2].PrintMethod();
            ncps[3].PrintMethod();

            Console.ReadLine();
        }
示例#3
0
        private static Hero GenerateHero(ConsoleNotifier myConsole, Random myRandom)
        {
            Hero hero;
            var  heroName   = GenerateName(myRandom);
            var  heroHealth = myRandom.Next(50, 151);
            var  heroSpeed  = myRandom.Next(0, 101);

            var heroType = myRandom.Next(1, 4);

            switch (heroType)
            {
            case 1:
                var heroPrecision = myRandom.Next(10, 51);
                hero = new Warrior(myConsole, heroName, heroHealth, heroSpeed, heroPrecision);
                break;

            case 2:
                var heroPower = myRandom.Next(25, 76);
                hero = new Wizard(myConsole, heroName, heroHealth, heroSpeed, heroPower);
                break;

            case 3:
                var heroStrength = myRandom.Next(5, 26);
                hero = new Ork(myConsole, heroName, heroHealth, heroSpeed, heroStrength);
                break;

            default:
                throw new NotImplementedException();
            }

            return(hero);
        }
示例#4
0
        static void Main(string[] args)
        {
            Hero Jason = new Hero("Jason", 3, 15);

            Ork Harvey = new Ork("Ork Harvey", 1, 5);
            Ork Ben    = new Ork("Ork Ben", 2, 8);

            Klingon Aaron = new Klingon("Klingon Aaron", 3, 12);
            Klingon Josh  = new Klingon("Klingon Josh", 5, 15);

            HarryPotter HarryPotter1 = new HarryPotter("Harry Potter gen.1", 7, 20, 2);
            HarryPotter HarryPotter2 = new HarryPotter("Harry Potter gen.2", 8, 20, 3);
            HarryPotter HarryPotter3 = new HarryPotter("Harry Potter gen.3", 10, 25, 4);

            Story.BeforeOrk();
            Battle.WithOrk(Jason, Harvey);
            Battle.WithOrk(Jason, Ben);

            Jason.LevelUp();

            Story.BeforeKlingon();
            Battle.WithKlingon(Jason, Aaron);
            Battle.WithKlingon(Jason, Josh);

            Jason.LevelUp();

            Story.BeforeHarryPotter();
            Battle.WithHarryPotter(Jason, HarryPotter1);
            Battle.WithHarryPotter(Jason, HarryPotter2);
            Battle.WithHarryPotter(Jason, HarryPotter3);

            Story.TheEnd();
        }
示例#5
0
        public void createAllMonstercards()
        {
            ICard card1 = new Dragon(100);
            ICard card2 = new FireElf(60);
            ICard card3 = new WaterGoblin(40);
            ICard card4 = new Knight(80);
            ICard card5 = new Kraken(80);
            ICard card6 = new Ork(70);
            ICard card7 = new Wizard(90);

            Cardname desiredName1 = Cardname.Dragon;
            Cardname desiredName2 = Cardname.FireElf;
            Cardname desiredName3 = Cardname.WaterGoblin;
            Cardname desiredName4 = Cardname.Knight;
            Cardname desiredName5 = Cardname.Kraken;
            Cardname desiredName6 = Cardname.Ork;
            Cardname desiredName7 = Cardname.Wizard;

            Assert.AreEqual(desiredName1, card1.name);
            Assert.AreEqual(desiredName2, card2.name);
            Assert.AreEqual(desiredName3, card3.name);
            Assert.AreEqual(desiredName4, card4.name);
            Assert.AreEqual(desiredName5, card5.name);
            Assert.AreEqual(desiredName6, card6.name);
            Assert.AreEqual(desiredName7, card7.name);
        }
示例#6
0
        //----------------------------------------------------create the card-----------------------------------------------------------------
        private Card CreateCard(string cardId)
        {
            List <string> cardData = Database.selectCardData(cardId);
            string        cardname = cardData[0];
            float         damage   = float.Parse(cardData[1]);
            string        cardtype = cardData[2];
            string        element  = cardData[3];

            if (cardtype == "Monster")
            {
                switch (cardname)
                {
                case "Dragon":
                    Card dragonCard = new Dragon(damage);
                    return(dragonCard);

                case "FireElfe":
                    Card elfCard = new FireElfe(damage);
                    return(elfCard);

                case "Knight":
                    Card knightCard = new Knight(damage);
                    return(knightCard);

                case "Ork":
                    Card orkCard = new Ork(damage);
                    return(orkCard);

                case "WaterGoblin":
                    Card goblinCard = new WaterGoblin(damage);
                    return(goblinCard);

                case "Wizzard":
                    Card wizzardCard = new Wizzard(damage);
                    return(wizzardCard);
                }
            }
            else if (cardtype == "Spell")
            {
                switch (cardname)
                {
                case "RegularSpell":
                    Card normalCard = new NormalSpell(damage);
                    return(normalCard);

                case "FireSpell":
                    Card fireCard = new FireSpell(damage);
                    return(fireCard);

                case "WaterSpell":
                    Card waterCard = new WaterSpell(damage);
                    return(waterCard);
                }
            }


            return(null);
        }
示例#7
0
        public void TestWizzardVsOrk()
        {
            // Wizzard can control Orks so they are not able to damage them. => wizzard always win
            Card wizzard = new Wizzard();
            Card ork     = new Ork();

            Assert.IsTrue(wizzard.Attack(ork));
            Assert.IsFalse(ork.Attack(wizzard));
        }
示例#8
0
 public Dto.Ork MapToDto(Ork ork)
 {
     return(new Dto.Ork
     {
         Id = ork.Id,
         KillCount = ork.KillCount,
         Name = ork.Name,
         Weapons = ork.Weapons.Select(w => w.ToString()).ToList()  //enum-ot Stringre mappel
     });
 }
示例#9
0
 void Awake()
 {
     killedOrks = new HashSet <Ork>();
     Hut.ResetAll();
     Fort.ResetAll();
     Villager.ResetAll();
     Ork.ResetAll();
     SecondsOfPlay        = 0;
     villagersHaveSpawned = false;
     FireBreathed         = 0f;
 }
示例#10
0
        public void ChangeOrkById(int id, Ork ork)
        {
            using IzeContext context = new IzeContext();
            var changedOrk = context.Orkok.Single(o => o.Id == id);

            changedOrk.Name      = ork.Name;
            changedOrk.KillCount = ork.KillCount;
            //changedOrk.Weapons = ork.Weapons;
            context.Orkok.Update(changedOrk);
            context.SaveChanges();
        }
        public static void ShowSerializedAttributes()
        {
            Ork ork = new Ork();

            ork.Name = "Thrall";
            ork.Age  = 56;

            string json = JsonSerializer.Serialize <Ork>(ork);

            Console.WriteLine(json);
        }
示例#12
0
        [Test]//Dem Wizzard können Orks nichts anhaben weil er sie verzaubert.

        public void WizzardFightAgainstOrk()
        {
            Card Jaina  = new Wizzard(25);
            Card Thrall = new Ork(35);

            Jaina.SetDamage(Thrall, Thrall.Attack(Jaina));

            var actualDamage = Jaina.Damage;

            Assert.AreEqual(0, actualDamage);
        }
示例#13
0
        public Ork MapToDomain(DbOrk ork)
        {
            var mapped = new Ork
            {
                Id        = ork.Id,
                Name      = ork.Name,
                KillCount = ork.KillCount,
                Weapons   = (ork.Weapons ?? new List <DbOrkWeapon>()).Select(w => Enum.Parse <Weapons>(w.Weapon)).ToList()
            };

            return(mapped);
        }
        public void Test_HasPlayer1WonRound_GoblinP1_DragonP2_Return_Loss()
        {
            // Arrange
            var goblin = new Goblin("845f0dc7-37d0-426e-994e-43fc3ac83c08", "Name", 10, Element.Normal);
            var dragon = new Ork("99f8f8dc-e25e-4a95-aa2c-782823f36e2a", "Name", 15, Element.Normal);

            // Act
            int result = Mtcg.Battle.HasPlayer1WonRound(goblin, dragon);

            // Assert
            Assert.AreEqual(2, result);
        }
        public void Test_HasPlayer1WonRound_WaterGoblinP1_FireOrkP2_Return_Loss()
        {
            // Arrange
            var waterGoblinPlayer1 = new Goblin("845f0dc7-37d0-426e-994e-43fc3ac83c08", "Name", 10, Element.Water);
            var fireOrkPlayer2     = new Ork("99f8f8dc-e25e-4a95-aa2c-782823f36e2a", "Name", 15, Element.Fire);

            // Act
            int result = Mtcg.Battle.HasPlayer1WonRound(waterGoblinPlayer1, fireOrkPlayer2);

            // Assert
            Assert.AreEqual(2, result);
        }
        public void Test_HasPlayer1WonRound_WizzardP1_OrkP2_Return_Win()
        {
            // Arrange
            var wizzard = new Wizzard("845f0dc7-37d0-426e-994e-43fc3ac83c08", "Name", 10, Element.Normal);
            var ork     = new Ork("99f8f8dc-e25e-4a95-aa2c-782823f36e2a", "Name", 15, Element.Normal);

            // Act
            int result = Mtcg.Battle.HasPlayer1WonRound(wizzard, ork);

            // Assert
            Assert.AreEqual(1, result);
        }
示例#17
0
        public void Wizard_Ork()
        {
            ICard card1 = new Wizard(80);
            ICard card2 = new Ork(50);

            float desiredCard1Damage = 80;
            float desiredCard2Damage = 0;

            float actualCard1Damage = card1.CombatBehavior(card2);
            float actualCard2Damage = card2.CombatBehavior(card1);

            Assert.AreEqual(desiredCard1Damage, actualCard1Damage);
            Assert.AreEqual(desiredCard2Damage, actualCard2Damage);
        }
示例#18
0
        [Test]//Monsterkampf gegen Spell

        public void MonsterCardFightAgainstSpellCard()
        {
            Card Mordechai  = new Ork(30);
            Card Aquaknarre = new WaterSpell(20);

            Mordechai.SetDamage(Aquaknarre, Aquaknarre.Attack(Mordechai));
            Aquaknarre.SetDamage(Mordechai, Mordechai.Attack(Aquaknarre));

            var SpellDamage = Mordechai.Damage;
            var Orkdamage   = Aquaknarre.Damage;


            Assert.AreEqual(60, Orkdamage);
            Assert.AreEqual(10, SpellDamage);
        }
示例#19
0
        public DbOrk MapToEntity(Ork ork)
        {
            var mapped = new DbOrk
            {
                Id        = ork.Id,
                KillCount = ork.KillCount,
                Name      = ork.Name,
                Weapons   = ork.Weapons.Select(w => new DbOrkWeapon
                {
                    Weapon = w.ToString()
                }).ToList()
            };

            return(mapped);
        }
        private ICard InitalizeCardAsObject(string id, string name, float damage, string elementType, string cardType)
        {
            if (cardType == CardType.Dragon.ToString())
            {
                var card = new Dragon(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Elf.ToString())
            {
                var card = new Elf(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Goblin.ToString())
            {
                var card = new Goblin(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Knight.ToString())
            {
                var card = new Knight(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Kraken.ToString())
            {
                var card = new Kraken(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Ork.ToString())
            {
                var card = new Ork(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Wizzard.ToString())
            {
                var card = new Wizzard(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }
            else if (cardType == CardType.Spell.ToString())
            {
                var card = new Spell(id, name, damage, (Element)Enum.Parse(typeof(Element), elementType));
                return(card);
            }

            return(null);
        }
示例#21
0
        static void Main(string[] args)
        {
            Warrior hercules = new Warrior("Hercules", 150, Speed.livello9);
            Warrior leonida  = new Warrior("Leonida", 105, Speed.livello6);
            Warrior bjorn    = new Warrior("Bjorn", 120, Speed.livello8);

            Wizard dumbledore = new Wizard("Dumbledore", 115, Speed.livello8);
            Wizard voldemort  = new Wizard("Lord Voldemort", 160, Speed.livello10);

            Ork azog = new Ork("Azog", 130, Speed.livello5);
            Ork bolg = new Ork("Bolg", 89, Speed.livello3);

            List <Player> players = new List <Player>
            {
                hercules,
                leonida,
                bjorn,
                dumbledore,
                voldemort,
                azog,
                bolg
            };

            // Trovare il massimo a partire da index = 0 e metterlo primo in lista
            // index++

            for (int count = 0; count < players.Count; count++)
            {
                Player pWithMaxSpeed = players[count];
                for (int index = players.Count; index >= count; index--)
                {
                    if (players[index].Sp > players[index - 1].Sp)
                    {
                        pWithMaxSpeed = players[index];
                    }
                }
                players.Insert(count, pWithMaxSpeed);
            }

            Arena a = new Arena();

            a.StartGame();

            Console.ReadLine();
        }
示例#22
0
            public static void WithOrk(Hero hero, Ork Ork)
            {
                while (Ork.health > 0 && hero.health > 0)
                {
                    PrintTheStats(Ork, hero);

                    hero.YourTurn(hero.Choice(), Ork);

                    if (Ork.health > 0)
                    {
                        Ork.OrkTurn(Ork.EChoice(), hero);
                        IsHeroDead(hero);
                    }
                }
                Console.WriteLine("{0} was killed!", Ork.name);
                Console.ReadLine();
                Console.Clear();
            }
示例#23
0
        public void TestPureMonsterFightWizardOrk()
        {
            var wizard = new Wizard()
            {
                Damage = 20
            };
            var ork = new Ork()
            {
                Damage = 20
            };

            int wizardDamage = wizard.CalculateDamage(ork);
            int orkDamage    = ork.CalculateDamage(wizard);

            // no element type effectiveness applies
            // orks don't attack wizards
            Assert.AreEqual(20, wizardDamage);
            Assert.AreEqual(0, orkDamage);
        }
示例#24
0
        public void LoadRace(string raceName, out Race race)
        {
            switch (raceName)
            {
            case "Human":
                race = new Human();
                break;

            case "Dragon":
                race = new Dragon();
                break;

            case "Wizzard":
                race = new Wizzard();
                break;

            case "Knight":
                race = new Knight();
                break;

            case "Elve":
                race = new Elve();
                break;

            case "Kraken":
                race = new Kraken();
                break;

            case "Ork":
                race = new Ork();
                break;

            case "Goblin":
                race = new Goblin();
                break;

            default:
                race = new Human();
                break;
            }
        }
示例#25
0
 public void ChangeOrkById(int id, Ork ork)
 {
     orkRepository.ChangeOrkById(id, ork);
 }
示例#26
0
 public void SaveOrk(Ork ork)
 {
     orkRepository.SaveOrk(ork);
 }
示例#27
0
 public static void LogOrkKilled(Ork ork)
 {
     killedOrks.Add(ork);
 }
示例#28
0
 public void ChangeOrk(int id, Ork ork)
 {
     orkService.ChangeOrkById(id, orkMapper.MapToDomain(ork));
 }
示例#29
0
 public void SaveOrk(Ork ork)
 {
     //orkService.SaveOrk(orkMapper.MapToDomain(ork));
     orkService.SaveOrk(mapper.Map <Domain.Ork>(ork));
 }
示例#30
0
 public void Setup()
 {
     _ork    = new Ork(CardType.Monster, ElementType.Normal, 190, "Ich bin Orrg und du?", CardProperty.Ork, 1);
     _wizard = new Wizard(CardType.Monster, ElementType.Fire, 200, "Ich bin ein Witz art", CardProperty.Wizard, 1);
 }