Inheritance: MonoBehaviour
示例#1
0
        public virtual int Defend(Giant giant)
        {
            int damage = 0;

            damage += strength;
            Console.WriteLine($"{nameof(Warrior)} {name} attacks Giant{giant.Name}, Damage:-{strength}\n");
            return(damage);
        }
示例#2
0
        public override int Defend(Giant giant)
        {
            arrows -= 2;
            int damage = 0;

            damage += 2 * strength;
            Console.WriteLine($"{nameof(Archer)} {name} shoots 2 arrows to Giant {giant.Name}, Damage:-{damage}\n");
            return(damage);
        }
示例#3
0
 public virtual void Attack(Giant enemy)
 {
     if (CanCastSpell())
     {
         Console.WriteLine($"Mage {name} attacked a giant {enemy.Name} and dealt {spellPower}dmg");
         enemy.GetDmg(spellPower);
         mana -= spellPower;
     }
 }
示例#4
0
            public Fight(Hero hero)
            {
                this.Monsters = new List <Enemy>();
                this.hero     = hero;
                Enemy giant    = new Giant();
                Enemy bigbaddy = new BigBaddy();

                Monsters.Add(giant);
                Monsters.Add(bigbaddy);
            }
 int IDefender.Attack(Giant attacker)
 {
     if (hasRat)
     {
         Console.WriteLine($"RatCatcher {name} stumbles upon a Giant {attacker.Name} but he has a rat so he ignores him");
         return(0);
     }
     Console.WriteLine($"RatCatcher {name} stumbles upon a Giant {attacker.Name} and lets him pass");
     return(0); //not sure what should happen here
 }
示例#6
0
        public void With_Giant_Unit_For_1_second_Then_It_Should_Walk_And_Cover_3_Map_Spaces()
        {
            var giantUnit = new Giant();
            var timeForMovementSeconds  = 1;
            var expectedCoveredDistance = 3;

            var actualCoveredDistance = giantUnit.Move(timeForMovementSeconds);

            Assert.AreEqual(expectedCoveredDistance, actualCoveredDistance);
        }
示例#7
0
        public void TestSetupQuest2()
        {
            QuestMatch game = ScenarioCreator.GameNoDeal(1);

            game.AttachLogger(new Quest.Core.Logger("TestSetupQuest2"));
            Player sponsorAI = game.Players[0];

            sponsorAI.Behaviour = new Strategy1();

            // Setup quest
            SearchForTheQuestingBeast quest = new SearchForTheQuestingBeast(game); // 4 stages.

            game.CurrentStory = quest;
            quest.Sponsor     = sponsorAI;

            //cards, no test
            Giant   giant   = new Giant(game);   //40
            Lance   lance   = new Lance(game);   //20
            Mordred mordred = new Mordred(game); //30
            Sword   sword   = new Sword(game);   //10
            Sword   sword2  = new Sword(game);   //10
            Dagger  dagger  = new Dagger(game);  //5
            Dagger  dagger2 = new Dagger(game);  //5
            Thieves thieves = new Thieves(game); //5
            Boar    boar    = new Boar(game);    //5

            sponsorAI.Hand.Add(new List <Card>()
            {
                giant, lance, thieves, boar, mordred,
                dagger, dagger2, sword, sword2
            });

            List <AdventureCard>[] stages = sponsorAI.Behaviour.SetupQuest(quest, sponsorAI.Hand);
            Assert.AreEqual(4, stages.Length);

            //test last stage - should contain giant and lance
            Assert.AreEqual(2, stages[3].Count);
            Assert.IsTrue(stages[3].Contains(giant));
            Assert.IsTrue(stages[3].Contains(lance));

            //test 3rd stage - should be mordred and one of the daggers
            Assert.AreEqual(2, stages[2].Count);
            Assert.IsTrue(stages[2].Contains(mordred));
            Assert.IsTrue((stages[2].Contains(dagger)) || (stages[2].Contains(dagger2)));

            //test 2nd stage - thieves or boar, and one of the swords
            Assert.AreEqual(2, stages[1].Count);
            Assert.IsTrue((stages[1].Contains(thieves)) || (stages[1].Contains(boar)));
            Assert.IsTrue((stages[1].Contains(sword)) || (stages[1].Contains(sword2)));
            //test 1st stage - thieves or boar (whichever wasn't played previously)
            Assert.AreEqual(1, stages[0].Count);
            Assert.IsTrue((stages[1].Contains(thieves)) || (stages[1].Contains(boar)));
        }
示例#8
0
    public Enemies[] InitEnemies()
    {
        Enemies[] enemArr = new Enemies[6];

        enemArr[0] = new Goblin();
        enemArr[1] = new Giant_Bat();
        enemArr[2] = new Giant();
        enemArr[3] = new Wraith();
        enemArr[4] = new Skeleton();
        enemArr[5] = new Dragon();

        return(enemArr);
    }
 public override void Attack(Giant enemy)
 {
     if (arrows > 0)
     {
         Console.WriteLine($"Archer {name} attacked a giant {enemy.Name} and dealt {strength}dmg!");
         enemy.GetDmg(strength);
         arrows--;
     }
     else
     {
         Console.WriteLine($"Archer {name} has no arrows left!");
     }
 }
示例#10
0
 public virtual int Attack(Giant attacker)
 {
     if (CanCastSpell())
     {
         Console.WriteLine($"Mage {name} attacks a Giant {attacker.Name} dealing {spellPower}");
         return(spellPower);
     }
     else
     {
         // Console.WriteLine($"Mage has too little mana to attack a Giant {attacker.Name}");
         return(0);
     }
 }
示例#11
0
        public override int Attack(Giant attacker)
        {
            if (rng.NextDouble() < killChance)
            {
                Console.WriteLine($"FireMage {name} performs an insta kill on a Giant {attacker.Name}");

                return(attacker.HP);
            }
            else
            {
                Console.WriteLine($"FireMage {name} attacks a Giant {attacker.Name} dealing {spellPower}");
                return(spellPower);
            }
        }
示例#12
0
        public int Defend(Giant giant)
        {
            int damage = 0;

            if (hasRat)
            {
                Console.WriteLine($"{nameof(RatCatcher)} {name} has rat's body and ignore Giant {giant.Name} \n");
                return(damage);
            }
            else
            {
                Console.WriteLine($"{nameof(RatCatcher)} {name} doesn't have rat's body and ignore Giant {giant.Name}\n");
                return(damage);
            }
        }
示例#13
0
        public override int Attack(Giant attacker)
        {
            if (arrows > 1)//not sure if archer should still be able to attack with 1 arrow
            {
                Console.WriteLine($"Archer {name} attacks a Giant {attacker.Name} twice dealing {2 * strength} with two arrows");
                arrows -= 2;

                return(2 * strength);
            }
            else
            {
                Console.WriteLine($"Archer {name} doesn't have enough arrows to attack a Giant");
                return(0);
            }
        }
 public override void Attack(Giant enemy)
 {
     if (rng.NextDouble() < killChance)
     {
         Console.WriteLine($"FireMage {name} instantly killed a giant {enemy.Name}");
         enemy.GetDmg(enemy.HP);
     }
     else
     {
         if (CanCastSpell())
         {
             Console.WriteLine($"FireMage {name} attacked a giant {enemy.Name} and dealt {spellPower}dmg");
             enemy.GetDmg(spellPower);
             mana -= spellPower;
         }
     }
 }
示例#15
0
        // LD 29 specific
        static void SetObjectType(GameObject obj, Collider2D collider)
        {
            UTiledProperties properties = obj.GetComponent <UTiledProperties>();

            if (properties != null)
            {
                switch (properties.ObjectType)
                {
                case "Lava":
                    obj.AddComponent <LavaTile>();
                    obj.tag = "Lava";
                    break;

                case "RockMonster":
                    obj.AddComponent <RockMonsterSpawner>();
                    break;

                case "Ruby":
                    obj.tag            = "Ruby";
                    collider.isTrigger = true;
                    break;

                case "Giant":
                    Giant g = obj.AddComponent <Giant>();
                    g.NewLevel = properties.GetValue("NewLevel");
                    int?rg = properties.GetValueAsInt("RubyGoal");
                    g.RubyGoal = rg.HasValue ? rg.Value : 1;
                    break;

                case "BreakRock":
                    BreakableRock br = obj.AddComponent <BreakableRock>();
                    br.Contains = properties.GetValue("Contains");
                    Vector2 tmpVector = ((BoxCollider2D)collider).size;
                    tmpVector.x = 0.5f;
                    ((BoxCollider2D)collider).size = tmpVector;
                    break;
                }
            }
        }
示例#16
0
        private Monster GetMonsterType(int level)
        {
            int monsterLevel = GetLevelModifier() + 1;

            if (level < 5)
            {
                Monster zombie = new Zombie();
                zombie.Level = monsterLevel;
                return(zombie);
            }
            else if (level < 10)
            {
                Monster wereWolf = new WereWolf();
                wereWolf.Level = monsterLevel;
                return(wereWolf);
            }
            else
            {
                Monster giant = new Giant();
                giant.Level = monsterLevel;
                return(giant);
            }
        }
示例#17
0
文件: Card.cs 项目: jctfarmer/Grudge
    public Card(string name)
    {
        this.name = name;
        if(!name.ToLower().Equals("no counter"))
        {
            string[] card = name.Split('_');
            Character temp;
            num = int.Parse(card[1]);
            if (card[0].Equals("cardHero"))
            {
                temp = new Hero();
                makeCard(temp.cards[num]);
            }
            else if (card[0].Equals("cardLuchador"))
            {
                temp = new Luchador();
                makeCard(temp.cards[num]);
            }
            else if (card[0].Equals("cardBrawler"))
            {
                temp = new Brawler();
                makeCard(temp.cards[num]);
            }
            else if (card[0].Equals("cardGiant"))
            {
                temp = new Giant();
                makeCard(temp.cards[num]);
            }
            else if (card[0].Equals("cardTechnician"))
            {
                temp = new Technician();
                makeCard(temp.cards[num]);
            }

        }
    }
示例#18
0
        public static void Main()
        {
            User user = new User();
            Menu menu = new Menu();
            ClassDescriptions desc = new ClassDescriptions();

            //Console.WindowHeight = 50;
            Console.WriteLine($"This is a prototype of a basic arena style combat game where the user fights random types of enemies.\nI know that" +
                              " the classes are very unbalanced right now, so I recommend using a Giant Man-Eater or Giant Brute \n" +
                              $"to see how the game plays out!\n\nThere will be additional races in the game soon...\n\nAs of now, magic has not been implemented in the game, " +
                              $"but it will be in the near future!\n\nWe will also be adding: \n  Race and class specific skills\n  Weapons store\n  Armor Store");
            Console.Write("Please press <ENTER> to start the game!");
            Console.ReadLine();
            Console.Clear();
            Console.WriteLine($" --------------------------------------------------------------------------------------------------------------------- \n" +
                              $"|         _                                                                                                 _         |\n" +
                              $"|        |$|                                                                                               |$|        |\n" +
                              $"|        |$|                              ***WELCOME TO MEDIEVAL LEGENDS***                                |$|        |\n" +
                              $"|        |$|                                                                                               |$|        |\n" +
                              $"|     ---------                                                                                         ---------     |\n" +
                              $"|       | | |                                                                                             | | |       |\n" +
                              $"|       | | |                                                                                             | | |       |\n" +
                              $"|       | | |                                                                                             | | |       |\n" +
                              $"|       | | |                 ---------------------------*-*---------------------------                   | | |       |\n" +
                              $"|       | | |                |                                                         |                  | | |       |\n" +
                              $"|       | | |                | CREATED BY: Dave Poole                                  |                  | | |       |\n" +
                              $"|       | | |                | GRAPHIC DESIGN: Corbin Poole & Dave Poole               |                  | | |       |\n" +
                              $"|       | | |                |                                                         |                  | | |       |\n" +
                              $"|       | | |                 ---------------------------------------------------------                   | | |       |\n" +
                              $"|       | | |                                                                                             | | |       |\n" +
                              $"|        \\ /                                                                                               \\ /        |\n" +
                              $"|                                                                                                                     |\n" +
                              " --------------------------------------------------------------------------------------------------------------------- \n\n");
            try
            {
                Console.WriteLine("1. Create a new character\n2. Load an existing character ");
                int initial = int.Parse(Console.ReadLine());
                while (initial > 2 || initial < 1)
                {
                    Console.Write("Invalid entry.  Please select either 1 to create and new character, or 2 to load a saved character: ");
                    initial = int.Parse(Console.ReadLine());
                }
                if (initial == 2)
                {
                    Console.Write("Enter your saved character name: ");
                    string loadName = Console.ReadLine();
                    if (File.Exists(@$ "../../../{loadName}.bin"))
                    {
                        Console.WriteLine("Reading saved file");
                        Stream          openFileStream = File.OpenRead(@$ "../../../{loadName}.bin");
                        BinaryFormatter deserializer   = new BinaryFormatter();
                        user = (User)deserializer.Deserialize(openFileStream);
                        openFileStream.Close();
                    }
                    if (!File.Exists(@$ "../../../{loadName}.bin"))
                    {
                        Console.WriteLine("Character does not exist!");
                        Console.ReadLine();
                        Main();
                    }
                    menu.MainMenu(user.userName, user.userRace, user.userClass, user.userHP, user.userMaxHP, user.userMP, user.userMaxMP, user.userAttPow, user.userMagPow, user.arenaWins, user.arenaLosses, user.userGold, user.userEXP, user.userExpToLevel, user.userLevel);
                }
                Console.Write(" Please enter a name for your character: ");
                Console.WriteLine(user.UserName(Console.ReadLine()));
                Console.ReadLine();
                Console.Clear();
                Console.Write(desc.DisplayDescriptions());
                Console.Write("Please choose a race(1 - 3): ");
                int race = int.Parse(Console.ReadLine());
                while (race > 3 || race < 1)
                {
                    Console.WriteLine("Invalid entry, please select from the menu: ");
                    race = int.Parse(Console.ReadLine());
                }
                if (race == 1)
                {
                    Human userRace = new Human();
                    user.userHP      = (int)userRace.raceHP;
                    user.userMP      = (int)userRace.raceMP;
                    user.userAttPow *= userRace.raceAttMod;
                    user.userMagPow *= userRace.raceMagMod;
                    Console.WriteLine(user.UserRace(userRace.raceName));
                    Console.ReadLine();
                    Console.Write($" --------------------------------------------------------------------------------------------------------------------- \n" +
                                  "|                                          ***AVAILABLE HUMAN CLASSES***                                              |\n" +
                                  "|                                                                                                                     |\n" +
                                  "| 1.  Warrior (Increased Attack Power, decreased Magic Power)                                                         |\n" +
                                  "| 2.  Wizard (Decreased Attack Power, increased Magic Power)                                                          |\n" +
                                  "| 3. *COMING SOON*                                                                                                    |\n" +
                                  "| 4. *COMING SOON*                                                                                                    |\n" +
                                  "|                                                                                                                     |\n" +
                                  " --------------------------------------------------------------------------------------------------------------------- \n\n" +
                                  "Choose a class for your character: ");
                    int classSelect = int.Parse(Console.ReadLine());
                    while (classSelect > 2 || classSelect < 1)
                    {
                        Console.WriteLine("Invalid entry, please select from the menu: ");
                        classSelect = int.Parse(Console.ReadLine());
                    }
                    if (classSelect == 1)
                    {
                        Warrior userClass = new Warrior();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                    if (classSelect == 2)
                    {
                        Wizard userClass = new Wizard();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                }
                if (race == 2)
                {
                    Giant userRace = new Giant();
                    user.userHP      = (int)userRace.raceHP;
                    user.userMP      = (int)userRace.raceMP;
                    user.userAttPow *= userRace.raceAttMod;
                    user.userMagPow *= userRace.raceMagMod;
                    Console.WriteLine(user.UserRace(userRace.raceName));
                    Console.ReadLine();
                    Console.Write($" --------------------------------------------------------------------------------------------------------------------- \n" +
                                  "|                                        ***AVAILABLE GIANT CLASSES***                                                |\n" +
                                  "|                                                                                                                     |\n" +
                                  "| 1.  Brute (Increased Attack Power, decreased Magic Power)                                                           |\n" +
                                  "| 2.  Man-Eater (Increased Attack and HP, decreased Magic)                                                            |\n" +
                                  "| 3. *COMING SOON*                                                                                                    |\n" +
                                  "| 4. *COMING SOON*                                                                                                    |\n" +
                                  " --------------------------------------------------------------------------------------------------------------------- \n\n" +
                                  "Choose a class for your character: ");
                    int classSelect = int.Parse(Console.ReadLine());
                    while (classSelect > 2 || classSelect < 1)
                    {
                        Console.WriteLine("Invalid entry, please select from the menu: ");
                        classSelect = int.Parse(Console.ReadLine());
                    }
                    if (classSelect == 1)
                    {
                        Brute userClass = new Brute();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                    if (classSelect == 2)
                    {
                        ManEater userClass = new ManEater();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                }
                if (race == 3)
                {
                    Elf userRace = new Elf();
                    user.userHP      = (int)userRace.raceHP;
                    user.userMP      = (int)userRace.raceMP;
                    user.userAttPow *= userRace.raceAttMod;
                    user.userMagPow *= userRace.raceMagMod;
                    Console.WriteLine(user.UserRace(userRace.raceName));
                    Console.ReadLine();
                    Console.Write($" --------------------------------------------------------------------------------------------------------------------- \n" +
                                  "|                                          ***AVAILABLE ELF CLASSES***                                                |\n" +
                                  "|                                                                                                                     |\n" +
                                  "| 1.  Druid (Decreased Attack Power, increased Magic Power)                                                           |\n" +
                                  "| 2.  Necromancer (Decreased HP, increased Attack Power)                                                              |\n" +
                                  "| 3. *COMING SOON*                                                                                                    |\n" +
                                  "| 4. *COMING SOON*                                                                                                    |\n" +
                                  " --------------------------------------------------------------------------------------------------------------------- \n\n" +
                                  "Choose a class for your character: ");
                    int classSelect = int.Parse(Console.ReadLine());
                    while (classSelect > 2 || classSelect < 1)
                    {
                        Console.Write("Invalid entry, please select from the menu: ");
                        classSelect = int.Parse(Console.ReadLine());
                    }
                    if (classSelect == 1)
                    {
                        Druid userClass = new Druid();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                    if (classSelect == 2)
                    {
                        Necromancer userClass = new Necromancer();
                        user.userAttPow = user.userAttPow * userClass.userClassAttPowMod;
                        user.userMagPow = user.userMagPow * userClass.userClassMagAttMod;
                        user.userMaxHP  = (int)(user.userMaxHP * userClass.userClassHPMod);
                        user.userMaxMP  = (int)((double)user.userMaxMP * userClass.userClassMPMod);
                        user.userHP     = user.userMaxHP;
                        user.userMP     = user.userMaxMP;
                        user.userClass  = userClass.userClassName;
                        Console.Write($"You have chosen to be a {user.userClass}.");
                        Console.ReadLine();
                    }
                }
                //if (race == 4)
                //{
                //    Goblin userRace = new Goblin();
                //    user.userHP = (int)userRace.raceHP;
                //    user.userMP = (int)userRace.raceMP;
                //    user.userAttPow *= userRace.raceAttMod;
                //    user.userMagPow *= userRace.raceMagMod;
                //    Console.WriteLine(user.UserRace(userRace.raceName));
                //    Console.ReadLine();
                //}
            }
            catch (Exception)
            {
                Console.WriteLine("Invalid entry");
                Main();
            }
            Console.Clear();
            menu.MainMenu(user.userName, user.userRace, user.userClass, user.userHP, user.userMaxHP, user.userMP, user.userMaxMP, user.userAttPow, user.userMagPow, user.arenaWins, user.arenaLosses, user.userGold, user.userEXP, user.userExpToLevel, user.userLevel);
        }
示例#19
0
 public virtual void Attack(Giant enemy)
 {
     Console.WriteLine($"Warrior {name} attacked a giant {enemy.Name} and dealt {strength}dmg!");
     enemy.GetDmg(strength);
 }
示例#20
0
 public virtual int Attack(Giant attacker)
 {
     Console.WriteLine($"Warrior {name} attacks a Giant {attacker.Name} dealing {strength}");
     return(strength);
 }
示例#21
0
        public void BeastSetClass(Unit enemy)
        {
            var rng         = new Random();
            int beastNumber = rng.Next(0, 27);

            if (beastNumber == 0 || beastNumber == 1 || beastNumber == 2 ||
                beastNumber == 3 || beastNumber == 4 || beastNumber == 5)
            {
                Beast beast = new Beast();
                beast.StatIncrement(enemy, beast);
                beast.RarityRng(enemy);
                BeastSpellRepository repos = new BeastSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 6 || beastNumber == 7 || beastNumber == 8 ||
                beastNumber == 9 || beastNumber == 10)
            {
                Reptile reptile = new Reptile();
                reptile.StatIncrement(enemy, reptile);
                reptile.RarityRng(enemy);
                ReptileSpellRepository repos = new ReptileSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 19 || beastNumber == 20)
            {
                Wyrm wyrm = new Wyrm();
                wyrm.StatIncrement(enemy, wyrm);
                wyrm.RarityRng(enemy);
                WyrmSpellRepository repos = new WyrmSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 21 || beastNumber == 22)
            {
                Giant giant = new Giant();
                giant.StatIncrement(enemy, giant);
                giant.RarityRng(enemy);
                GiantSpellRepository repos = new GiantSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 11 || beastNumber == 12 || beastNumber == 13 ||
                beastNumber == 14)
            {
                Zombie zombie = new Zombie();
                zombie.StatIncrement(enemy, zombie);
                zombie.RarityRng(enemy);
                ZombieSpellRepository repos = new ZombieSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 23 || beastNumber == 24)
            {
                Gryphon gryphon = new Gryphon();
                gryphon.StatIncrement(enemy, gryphon);
                gryphon.RarityRng(enemy);
                GryphonSpellRepository repos = new GryphonSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 15 || beastNumber == 16 || beastNumber == 17 ||
                beastNumber == 18)
            {
                Skeleton skeleton = new Skeleton();
                skeleton.StatIncrement(enemy, skeleton);
                skeleton.RarityRng(enemy);
                SkeletonSpellRepository repos = new SkeletonSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 25)
            {
                Saint saint = new Saint();
                saint.StatIncrement(enemy, saint);
                saint.RarityRng(enemy);
                SaintSpellRepository repos = new SaintSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }

            if (beastNumber == 26)
            {
                Demon demon = new Demon();
                demon.StatIncrement(enemy, demon);
                demon.RarityRng(enemy);
                DemonSpellRepository repos = new DemonSpellRepository(enemy);
                repos.SpellRepositoryInitilization(enemy, repos);
            }
        }
示例#22
0
        private Enemy SpawnEnemy(TravelForm.Selection type)
        {
            Random random = new Random();

            int choose;

            switch (type)
            {
            case TravelForm.Selection.Forest:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 10) ? 5 : _player.level));
                }
                else
                {
                    return(Beast.Generate((_player.level + 5 > 10) ? 5 : _player.level));
                }

            case TravelForm.Selection.Cave:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 20) ? 15 : (_player.level - 5 < 10) ? 15 : _player.level));
                }
                else
                {
                    return(Goblinoid.Generate((_player.level + 5 > 20) ? 15 : (_player.level - 5 < 10) ? 15 : _player.level));
                }

            case TravelForm.Selection.Ethereal:
                return(Ethereal.Generate((_player.level + 5 > 90) ? 85 : (_player.level - 5 < 70) ? 75 : _player.level));

            case TravelForm.Selection.Graveyard:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 40) ? 35 : (_player.level - 5 < 20) ? 25 : _player.level));
                }
                else
                {
                    return(Undead.Generate((_player.level + 5 > 40) ? 35 : (_player.level - 5 < 20) ? 25 : _player.level));
                }

            case TravelForm.Selection.Mountains:
                choose = random.Next(21);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }
                else if (choose > 0 && choose < 15)
                {
                    return(Giant.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }
                else
                {
                    return(Dragonkin.Generate((_player.level + 5 > 55) ? 50 : (_player.level - 5 < 40) ? 45 : _player.level));
                }

            case TravelForm.Selection.Ruins:
                choose = random.Next(11);
                if (choose == 0)
                {
                    return(Humanoid.Generate((_player.level + 5 > 70) ? 65 : (_player.level - 5 < 55) ? 60 : _player.level));
                }
                else
                {
                    return(Mechanical.Generate((_player.level + 5 > 70) ? 65 : (_player.level - 5 < 55) ? 60 : _player.level));
                }

            case TravelForm.Selection.Underworld:
                return(Demon.Generate((_player.level - 5 < 90) ? 95 : _player.level));
            }
            return(null);
        }
示例#23
0
        /// <summary>
        /// Maakt de blok aan
        /// </summary>
        /// <param name="id">Afhankelijk van de id zullen we een bepaalde blok aanmaken</param>
        /// <param name="content">ContentManager object dat we gebruiken om textures te laden</param>
        /// <returns>De aangemaakt blok</returns>
        protected override GameObject CreateBlock(int id, ContentManager content)
        {
            GameObject b = null;

            if (id == 1)
            {
                b = new DirtBlock(content, "01");
            }
            else if (id == 2)
            {
                b = new GrassTopBlock(content, "04");
            }
            else if (id == 3)
            {
                b = new GrassRightBLock(content, "08");
            }
            else if (id == 4)
            {
                b = new LeftTopCornerBlock(content, "03");
            }
            else if (id == 5)
            {
                b = new RightTopCornerBlock(content, "02");
            }
            else if (id == 6)
            {
                b = new AcidMudLeftAndBottomBlock(content, "19");
            }
            else if (id == 7)
            {
                b = new AcidMudBottomBlock(content, "15");
            }
            else if (id == 8)
            {
                b = new AcidMudRightAndBottomBlock(content, "22");
            }
            else if (id == 9)
            {
                b = new GrassLeftBlock(content, "07");
            }
            else if (id == 10)
            {
                b = new LeftBottomCornerBlock(content, "10");
            }
            else if (id == 11)
            {
                b = new RightBottomCornerBlock(content, "09");
            }
            else if (id == 12)
            {
                b = new PlatformBlock(content, "plate1");
            }
            else if (id == 13)
            {
                b = new BoxFirstVariant(content, "box1");
            }
            else if (id == 14)
            {
                b = new BoxSecondVariant(content, "box2");
            }
            else if (id == 15)
            {
                b = new Scarecrow(content, "scarecrow");
            }
            else if (id == 16)
            {
                b = new Pointer(content, "pointer");
            }
            else if (id == 17)
            {
                b = new OrangeTree(content, "tree1");
            }
            else if (id == 18)
            {
                b = new YellowTree(content, "tree2");
            }
            else if (id == 19)
            {
                b = new MovingBlock(content, "plate1");
            }
            else if (id == 20)
            {
                b = new MovingBlock(content, "plate1")
                {
                    Invert = true
                }
            }
            ;
            else if (id == 21)
            {
                b = new StarCollectable(content, "star");
            }
            else if (id == 22)
            {
                b = new BouncingAcidBall(content, "LavaFireballSprite");
            }
            else if (id == 23)
            {
                b = new UpUnderBlock(content, "bovenonder");
            }
            else if (id == 24)
            {
                b = new LeftOverRoofBlock(content, "linksoverkaping");
            }
            else if (id == 25)
            {
                b = new RightOverRoofBlock(content, "rechtsoverkaping");
            }
            else if (id == 26)
            {
                b = new UnderBlock(content, "13");
            }
            else if (id == 27)
            {
                b = new FullBlock(content, "11");
            }
            else if (id == 30)
            {
                b = new GreenGoblin(content, "GreenGoblinSprite");
            }
            else if (id == 31)
            {
                b = new Giant(content, "GiantSprite");
            }
            else if (id == 32)
            {
                b = new Orc(content, "BlackGoblin");
            }
            else if (id == 33)
            {
                b = new BlueGoblin(content, "BlueMonster");
            }
            else if (id == 40)
            {
                b = new InvisibleBlock(content, "legeBlok");
            }
            else if (id == 50)
            {
                b = new ButtonNextLevel(content, "button");
            }
            return(b);
        }
示例#24
0
 public void Attack(Giant enemy)
 {
     Console.WriteLine($"RatCatcher {name} attacked a giant {enemy.Name} and nothing happened");
 }
示例#25
0
        public Spells()
        {
            Items = new List <BaseSpell>();

            goblinWave = new GoblinWave();
            Items.Add(goblinWave);

            wolfPack = new WolfPack();
            Items.Add(wolfPack);

            siege = new Siege();
            Items.Add(siege);

            orcWave = new OrcWave();
            Items.Add(orcWave);

            trollWave = new TrollWave();
            Items.Add(trollWave);

            blackHorsemen = new BlackHorsemen();
            Items.Add(blackHorsemen);

            giant = new Giant();
            Items.Add(giant);

            dragon = new Dragon();
            Items.Add(dragon);

            spark = new Spark();
            Items.Add(spark);

            eletroCharge = new EletroCharge();
            Items.Add(eletroCharge);

            lightning = new Lightning();
            Items.Add(lightning);

            discharge = new Discharge();
            Items.Add(discharge);

            thunderShock = new ThunderShock();
            Items.Add(thunderShock);

            thunderBolt = new ThunderBolt();
            Items.Add(thunderBolt);

            lightningStorm = new LightningStorm();
            Items.Add(lightningStorm);

            thunder = new Thunder();
            Items.Add(thunder);

            mudStrike = new MudStrike();
            Items.Add(mudStrike);

            rockThrow = new RockThrow();
            Items.Add(rockThrow);

            vineWhip = new VineWhip();
            Items.Add(vineWhip);

            razorLeaf = new RazorLeaf();
            Items.Add(razorLeaf);

            seedBombs = new SeedBombs();
            Items.Add(seedBombs);

            rockBlast = new RockBlast();
            Items.Add(rockBlast);

            photosynthesis = new Photosynthesis();
            Items.Add(photosynthesis);

            earthQuake = new Earthquake();
            Items.Add(earthQuake);

            wave = new Wave();
            Items.Add(wave);

            whirlwind = new Whirlwind();
            Items.Add(whirlwind);

            icyspikes = new IcySpikes();
            Items.Add(icyspikes);

            ringoffrost = new RingOfFrost();
            Items.Add(ringoffrost);

            frozenPillar = new FrozenPillar();
            Items.Add(frozenPillar);

            frostWave = new FrostWave();
            Items.Add(frostWave);

            storm = new Storm();
            Items.Add(storm);

            blizzard = new Blizzard();
            Items.Add(blizzard);

            fireball = new Fireball();
            Items.Add(fireball);

            firewave = new Firewave();
            Items.Add(firewave);

            imoloate = new Imoloate();
            Items.Add(imoloate);

            fireblast = new FireBlast();
            Items.Add(fireblast);

            ringoffire = new RingOfFire();
            Items.Add(ringoffire);

            lavastrike = new LavaStrike();
            Items.Add(lavastrike);

            dragonBreath = new DragonBreath();
            Items.Add(dragonBreath);
        }
示例#26
0
 public virtual int Defend(Giant giant)
 {
     return(Strategy(giant));
 }
示例#27
0
 public override int Defend(Giant giant)
 {
     return(Strategy(giant));
 }