Esempio n. 1
0
        public MonsterStats PickMonster(int level, int type)
        {
            MonsterStats monster = new MonsterStats();

            if (type == 1)         //Snake
            {
                monster.NameofMonster = snake_Stats.NameofMonster;
                monster.Health        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Health) * level;
                monster.Attack        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Attack) * level;
                monster.EXP           = random_number_generator.Next(snake_Stats.EXP * 8 / 10, snake_Stats.EXP * 12 / 10) * level;
                monster.Defense       = ((random_number_generator.NextDouble() / 2.5 + 0.8) * snake_Stats.Defense) * level;
                monster.Level         = level;
            }
            else if (type == 2)         //Dragon
            {
                monster.NameofMonster = snake_Stats.NameofMonster;
                monster.Health        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Health) * level;
                monster.Attack        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Attack) * level;
                monster.EXP           = random_number_generator.Next(dragon_Stats.EXP * 8 / 10, dragon_Stats.EXP * 12 / 10) * level;
                monster.Defense       = ((random_number_generator.NextDouble() / 2.5 + 0.8) * dragon_Stats.Defense) * level;
                monster.Level         = level;
            }
            else if (type == 3)         //Scorpion
            {
                monster.NameofMonster = snake_Stats.NameofMonster;
                monster.Health        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Health) * level;
                monster.Attack        = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Attack) * level;
                monster.EXP           = random_number_generator.Next(scorpion_Stats.EXP * 8 / 10, scorpion_Stats.EXP * 12 / 10) * level;
                monster.Defense       = ((random_number_generator.NextDouble() / 2.5 + 0.8) * scorpion_Stats.Defense) * level;
                monster.Level         = level;
            }
            return(monster);
        }
 public Inventory(List <object> HeroInventory, HeroStats hero_stats, MonsterStats monster_stats)
 {
     InitializeComponent();
     inventoryInUse = HeroInventory;
     DisplayInventoryItems();
     itemSelected = 0;
     PopulateItems();
     InventoryCount();
     hero    = hero_stats;
     monster = monster_stats;
 }
        private void UseItem_Button_Click(object sender, RoutedEventArgs e)
        {
            List <object> HeroMonsterList;

            if (inventoryInUse[itemSelected] is InventoryConsumable)
            {
                HeroMonsterList = Functions.FuncUseInventoryConsumable(itemSelected, hero, monster, (InventoryConsumable)inventoryInUse[itemSelected], inventoryInUse);//Sending values to UseInventoryItem in functions
                hero            = ((HeroStats)HeroMonsterList[0]);
                monster         = ((MonsterStats)HeroMonsterList[1]);
                inventoryInUse  = (List <object>)HeroMonsterList[2];
            }
            else if ((inventoryInUse[itemSelected] is InventoryArmor))
            {
            }
        }
 private void ProceedButton_Click(object sender, RoutedEventArgs e)
 {
     hero = Hero.SetHero(hero);
     try
     {
         level_monster = Convert.ToInt32(MonsterLevel_Textbox.Text);
         if (level_monster < 1)
         {
             GameAction_Textbox.Text += "\nPlease input a level.";
         }
     }
     catch (Exception)
     {
         GameAction_Textbox.Text += "\nPlease input a level greater than 1.";
     }
     try
     {
         type_monster = Convert.ToInt32(MonsterType_Textbox.Text);
         if (type_monster < 1 || type_monster > 3)
         {
             GameAction_Textbox.Text += "\nPlease input a level from 1 - 3.";
         }
         else
         {
             monster = monsterObject.PickMonster(level_monster, type_monster);
             string imageSource = Monsters.SetImageSource(type_monster);
             Monster_Image.Source            = new BitmapImage(new Uri(imageSource, UriKind.Relative));
             Proceed_Button.Visibility       = Visibility.Hidden;
             MonsterLevel_Textbox.Visibility = Visibility.Hidden;
             MonsterType_Textbox.Visibility  = Visibility.Hidden;
             MonsterType_Label.Visibility    = Visibility.Hidden;
             MonsterLevel_Label.Visibility   = Visibility.Hidden;
             GameAction_Textbox.Text        += $"\nCurrent HP:\nHero - {String.Format("{0:0.00}", hero.Health)} \nMonster - {String.Format("{0:0.00}", monster.Health)}";
             FuncAttack_Button.Visibility    = Visibility.Visible;
             FuncDefend_Button.Visibility    = Visibility.Visible;
             FuncHeal_Button.Visibility      = Visibility.Visible;
             FuncRetreat_Button.Visibility   = Visibility.Visible;
         }
     }
     catch (Exception)
     {
         GameAction_Textbox.Text += "\nPlease input a type from 1 - 3.";
     }
 }
Esempio n. 5
0
        public static List <object> FuncUseInventoryConsumable(int selecteditem, HeroStats hero, MonsterStats monster, InventoryConsumable item, List <object> currentInventory)
        {
            List <object> temp_list = new List <object>();

            switch (item.ItemIndex)
            {
            case 11:
                monster.turnConfusedStatus = item.effectTurns;
                if (item.numberofuses == 1)    //Remove item from current inventory if one use item
                {
                    currentInventory.RemoveAt(selecteditem);
                }
                break;

            default:
                break;
            }
            temp_list[0] = hero;
            temp_list[1] = monster;
            temp_list[2] = currentInventory;
            return(temp_list);
        }
Esempio n. 6
0
 public static double[] FuncFailedRetreat(HeroStats hero, MonsterStats monster)
 {
     double[] damage_dealt = new double[] { CalculateDamage(monster.Attack, hero.Defense), 0 }; // Index 1 - Damage to Hero Index 2 - Damage to Monster
     return(damage_dealt);
 }
Esempio n. 7
0
 public static double[] FuncDefend(HeroStats hero, MonsterStats monster)
 {
     double[] damage_dealt = new double[] { 1, 0 };// Index 1 - Damage to Hero Index 2 - Damage to Monster
     return(damage_dealt);
 }