Ejemplo n.º 1
0
        private void ExecuteSell()
        {
            var pick = "";

            if (this.Hero.WeaponsBag.Count == 0 && this.Hero.ArmorsBag.Count == 0 && this.Hero.PotionBag.Count == 0)
            {
                Console.WriteLine("\nThere are currently no items in your bags that you can sell at this time.");
                Console.WriteLine("\nPress any key to go back to the shop menu");
                Console.ReadKey();
                Console.Clear();
                this.ShopMenu();
            }

            do
            {
                Console.WriteLine($"\nWhich item would you like to sell?");
                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))
                {
                    Hero.WeaponsBag.Remove(weapon);
                    this.WeaponList.Add(weapon);
                    Hero.Gold += weapon.ResellValue;

                    Console.WriteLine($"Hero just sold {weapon.Name}, for {weapon.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "a":

                if (ArmorCatalog.TryGetValue(pick.Substring(0, 2), out armor))
                {
                    Hero.ArmorsBag.Remove(armor);
                    this.ArmorList.Add(armor);
                    Hero.Gold += armor.ResellValue;

                    Console.WriteLine($"Hero just sold {armor.Name}, for {armor.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                else
                {
                    Console.WriteLine($"Item {pick} does not exist...");
                }

                break;

            case "p":

                if (PotionCatalog.TryGetValue(pick.Substring(0, 2), out potion))
                {
                    Hero.PotionBag.Remove(potion);
                    this.PotionList.Add(potion);
                    Hero.Gold += potion.ResellValue;

                    Console.WriteLine($"Hero just sold {potion.Name}, for {potion.ResellValue}!");
                    Console.WriteLine($"Hero now has {Hero.Gold}!  Time to go shopping!");
                }
                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;
            }
        }
Ejemplo n.º 2
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;
            }
        }