Пример #1
0
 public void RemoveArmor(Armor armor)
 {
     if (armor != null)
     {
         ArmorList.Remove(armor);
     }
     throw new NullReferenceException("Armor is not filled out");
 }
Пример #2
0
        public void CheckOut(string itemDictNum)
        {
            switch (itemDictNum.Substring(0, 1))
            {
            case "a":
                var armor = (Armor)ItemCatalog[itemDictNum];

                if (Hero.Gold >= armor.OriginalValue)
                {
                    Hero.Gold -= armor.OriginalValue;
                    ArmorList.Remove(armor);
                    Hero.ArmorsBag.Add(armor);
                    Console.WriteLine($"You bought a {armor.Name} for {armor.OriginalValue} gold");
                    Start();
                }
                else
                {
                    Console.WriteLine($"You do not have enough gold to purchase {armor.Name}");
                    Start();
                }
                break;

            case "p":
                var potion3 = (Potion)ItemCatalog[itemDictNum];
                if (Hero.Gold >= potion3.OriginalValue)
                {
                    Hero.Gold -= potion3.OriginalValue;
                    PotionsList.Remove(potion3);
                    Hero.PotionsBag.Add(potion3);
                    Console.WriteLine($"You bought a {potion3.Name} for {potion3.OriginalValue} gold");
                    Start();
                }
                else
                {
                    Console.WriteLine($"You do not have enough gold to purchase {potion3.Name}");
                    Start();
                }
                break;

            case "w":
                var weapon = (Weapon)ItemCatalog[itemDictNum];
                if (Hero.Gold >= weapon.OriginalValue)
                {
                    Hero.Gold -= weapon.OriginalValue;
                    WeaponsList.Remove(weapon);
                    Hero.WeaponsBag.Add(weapon);
                    Console.WriteLine($"You bought a {weapon.Name} for {weapon.OriginalValue} gold");
                    Start();
                }
                else
                {
                    Console.WriteLine($"You do not have enough gold to purchase {weapon.Name}");
                    Start();
                }
                break;
            }
        }
Пример #3
0
        private void ExecutePuchase()
        {
            var pick = "";

            do
            {
                Console.WriteLine($"\nWhich item would you like to purchase?");
                Console.WriteLine($"Type E if you do not wish to purch anything at this time.");
                pick = Console.ReadLine();
            } while (pick.Length <= 0);

            var weapon = new Weapon();
            var armor  = new Armor();
            var potion = new Potion();

            switch (pick.Substring(0, 1).ToLower())
            {
            case "w":

                if (WeaponCatalog.TryGetValue(pick.Substring(0, 2), out weapon))
                {
                    if (Hero.Gold >= weapon.OriginalValue)
                    {
                        Hero.Gold -= weapon.OriginalValue;
                        Hero.WeaponsBag.Add(weapon);
                        WeaponList.Remove(weapon);
                        Console.WriteLine($"Hero just purchased {weapon.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {weapon.Name}");
                        Console.WriteLine($"{weapon.Name} costs {weapon.OriginalValue}, you only have {Hero.Gold -4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "a":

                if (ArmorCatalog.TryGetValue(pick.Substring(0, 2), out armor))
                {
                    if (Hero.Gold >= armor.OriginalValue)
                    {
                        Hero.Gold -= armor.OriginalValue;
                        Hero.ArmorsBag.Add(armor);
                        ArmorList.Remove(armor);
                        Console.WriteLine($"Hero just purchased {armor.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {armor.Name}");
                        Console.WriteLine($"{armor.Name} costs {armor.OriginalValue}, you only have {Hero.Gold -4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "p":

                if (PotionCatalog.TryGetValue(pick.Substring(0, 2), out potion))
                {
                    if (Hero.Gold >= potion.OriginalValue)
                    {
                        Hero.Gold -= potion.OriginalValue;
                        Hero.PotionBag.Add(potion);
                        PotionList.Remove(potion);
                        Console.WriteLine($"Hero just purchased {potion.Name}!");
                    }
                    else
                    {
                        Console.WriteLine($"You do not have enough Gold to purchase {potion.Name}");
                        Console.WriteLine($"{potion.Name} costs {potion.OriginalValue}, you only have {Hero.Gold - 4:C0}");
                    }
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "e":
                Console.Clear();
                this.ShopMenu();
                break;

            default:
                Console.WriteLine($"Item {pick} does not exist...");
                break;
            }
        }