示例#1
0
        static void Main(string[] args)
        {
            ////StreamReader reader = new StreamReader("Test.txt");
            ////string line = reader.ReadLine();
            ////Console.WriteLine(line);
            ////reader.Close();
            //StreamReader reader = new StreamReader("Test.txt");
            //while (reader.EndOfStream == false)
            //{
            //    string line = reader.ReadLine();
            //    Console.WriteLine(line);
            //}
            //reader.Close();

            //Console.ReadKey();
            TryCatch invSort = new TryCatch();
            Player   pl      = new Player();
            Random   rd      = new Random();
            Read     re      = new Read();

            Inventory[] inv     = new Inventory[9];
            Inventory[] storage = new Inventory[4];
            JobUpgrade  bst1    = new JobUpgrade(0, 1, "Bad Stick", "It's a stick, what did you expect?", false);
            JobUpgrade  sh1     = new JobUpgrade(50, 2, "Sharp Stick", "Just a slightly sharpened stick", false);
            JobUpgrade  wo1     = new JobUpgrade(200, 3, "Wooden Sword", "Just a sharp stick shaped like a sword", false);
            JobUpgrade  st1     = new JobUpgrade(500, 4, "Stone Sword", "Used for cutting thicker grass", false);
            JobUpgrade  fw1     = new JobUpgrade(9 ^ 9, 4, "Sold Out", "Currently there are no more upgrades available", true);

            JobUpgrade[] jobUpgradeArray = new JobUpgrade[] { bst1, sh1, wo1, st1, fw1 };
            //v1 price, v2 jobupgrade, v3jobupgradename, v4 jobupgrade description

            int    slotChecker     = 0;
            int    jfoodRandomizer = 0;
            int    hfoodRandomizer = 0;
            int    mfoodRandomizer = 0;
            int    currentWeapon   = 0;
            int    goalDay         = 0;
            int    currentDay      = 1;
            int    multiplierRupee = 0;
            int    foundRupees     = 0;
            int    use             = 0;
            string saveAsk         = "";
            string goalDayAsked    = "";
            string purchaseAsk     = "";
            string useAsk          = "";
            bool   slotFound       = false;
            bool   goHome          = false;
            bool   goBack          = true;
            bool   gameOn          = true;
            bool   startGame       = false;

            string[] invValue = new string[9] {
                "inv1.txt", "inv2.txt", "inv3.txt", "inv4.txt", "inv5.txt", "inv6.txt", "inv7.txt", "inv8.txt", "inv9.txt"
            };
            pl.hunger = pl.startHunger;
            pl.health = pl.startHealth;
            //for (int i = 0; i < 20; i++)
            //{
            //    inv[i] = new Inventory(0, 0, 0, "Blank");
            //}
            for (int i = 0; i < 9; i++)
            {
                inv[i] = new Inventory(0, 0, 0, "Blank", false);
            }


            // Assigns the value of v1 price v2 quantity v3 health gain, v4 hunger, v5 string


            void UI()
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine($"Day : {currentDay}");
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"Rupees : {pl.rupees}");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine($"Health : {pl.health}");
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.Write($"Hunger : {pl.hunger}");
                Console.ForegroundColor = ConsoleColor.Gray;
                Console.WriteLine($"\r\n---------------\r\n");
                return;
            }

            // reprints UI at the top of the screen, it being like this allows for quick edits
            saveAsk = re.Ask($"Welcome to my game, RPG Grass Cutting Store!\r\nType [load] to load the previous game\r\nType [new] to start a new game and overwrite the save");
            saveAsk = saveAsk.ToLower();


            while (gameOn == true)
            {
                while (startGame == false)
                {
                    switch (saveAsk)
                    {
                    case "load":
                        StreamReader readerRupees = new StreamReader("pl.rupees.txt");
                        string       RupeesSave   = readerRupees.ReadLine();
                        Int32.TryParse(RupeesSave, out pl.rupees);
                        readerRupees.Close();
                        StreamReader readerHealth = new StreamReader("pl.health.txt");
                        string       HealthSave   = readerHealth.ReadLine();
                        Int32.TryParse(HealthSave, out pl.health);
                        readerHealth.Close();
                        StreamReader readerHunger = new StreamReader("pl.hunger.txt");
                        string       HungerSave   = readerHunger.ReadLine();
                        Int32.TryParse(HungerSave, out pl.hunger);
                        readerHunger.Close();
                        StreamReader readerCurrentWeapon = new StreamReader("currentWeapon.txt");
                        string       CurrentWeaponSave   = readerCurrentWeapon.ReadLine();
                        Int32.TryParse(CurrentWeaponSave, out currentWeapon);
                        readerCurrentWeapon.Close();
                        StreamReader readerSlotChecker = new StreamReader("slotChecker.txt");
                        string       slotCheckerSave   = readerSlotChecker.ReadLine();
                        Int32.TryParse(slotCheckerSave, out slotChecker);
                        readerSlotChecker.Close();
                        StreamReader readerCurrentDay = new StreamReader("currentDay.txt");
                        string       currentDaySave   = readerCurrentDay.ReadLine();
                        Int32.TryParse(currentDaySave, out currentDay);
                        readerCurrentDay.Close();



                        StreamReader readerInv1 = new StreamReader("../../TextFiles/inv1.txt");
                        inv[0].foodString = readerInv1.ReadLine();
                        string invHealth1Save = readerInv1.ReadLine();
                        Int32.TryParse(invHealth1Save, out inv[0].healthGain);
                        string invHunger1Save = readerInv1.ReadLine();
                        Int32.TryParse(invHunger1Save, out inv[0].hungerGain);
                        readerInv1.Close();

                        StreamReader readerInv2 = new StreamReader("../../TextFiles/inv2.txt");
                        inv[1].foodString = readerInv2.ReadLine();
                        string invHealth2Save = readerInv2.ReadLine();
                        Int32.TryParse(invHealth2Save, out inv[1].healthGain);
                        string invHunger2Save = readerInv2.ReadLine();
                        Int32.TryParse(invHunger2Save, out inv[1].hungerGain);
                        readerInv2.Close();

                        StreamReader readerInv3 = new StreamReader("../../TextFiles/inv3.txt");
                        inv[2].foodString = readerInv3.ReadLine();
                        string invHealth3Save = readerInv3.ReadLine();
                        Int32.TryParse(invHealth3Save, out inv[2].healthGain);
                        string invHunger3Save = readerInv3.ReadLine();
                        Int32.TryParse(invHunger3Save, out inv[2].hungerGain);
                        readerInv3.Close();

                        StreamReader readerInv4 = new StreamReader("../../TextFiles/inv4.txt");
                        inv[3].foodString = readerInv4.ReadLine();
                        string invHealth4Save = readerInv4.ReadLine();
                        Int32.TryParse(invHealth4Save, out inv[3].healthGain);
                        string invHunger4Save = readerInv4.ReadLine();
                        Int32.TryParse(invHunger4Save, out inv[3].hungerGain);
                        readerInv4.Close();

                        StreamReader readerInv5 = new StreamReader("../../TextFiles/inv5.txt");
                        inv[4].foodString = readerInv5.ReadLine();
                        string invHealth5Save = readerInv5.ReadLine();
                        Int32.TryParse(invHealth5Save, out inv[4].healthGain);
                        string invHunger5Save = readerInv5.ReadLine();
                        Int32.TryParse(invHunger5Save, out inv[4].hungerGain);
                        readerInv5.Close();

                        StreamReader readerInv6 = new StreamReader("../../TextFiles/inv6.txt");
                        inv[5].foodString = readerInv6.ReadLine();
                        string invHealth6Save = readerInv6.ReadLine();
                        Int32.TryParse(invHealth6Save, out inv[5].healthGain);
                        string invHunger6Save = readerInv6.ReadLine();
                        Int32.TryParse(invHunger6Save, out inv[5].hungerGain);
                        readerInv6.Close();

                        StreamReader readerInv7 = new StreamReader("../../TextFiles/inv7.txt");
                        inv[6].foodString = readerInv7.ReadLine();
                        string invHealth7Save = readerInv7.ReadLine();
                        Int32.TryParse(invHealth7Save, out inv[6].healthGain);
                        string invHunger7Save = readerInv7.ReadLine();
                        Int32.TryParse(invHunger7Save, out inv[6].hungerGain);
                        readerInv7.Close();


                        StreamReader readerInv8 = new StreamReader("../../TextFiles/inv8.txt");
                        inv[7].foodString = readerInv8.ReadLine();
                        string invHealth8Save = readerInv8.ReadLine();
                        Int32.TryParse(invHealth8Save, out inv[7].healthGain);
                        string invHunger8Save = readerInv8.ReadLine();
                        Int32.TryParse(invHunger8Save, out inv[7].hungerGain);
                        readerInv8.Close();

                        StreamReader readerInv9 = new StreamReader("../../TextFiles/inv9.txt");
                        inv[8].foodString = readerInv9.ReadLine();
                        string invHealth9Save = readerInv9.ReadLine();
                        Int32.TryParse(invHealth9Save, out inv[8].healthGain);
                        string invHunger9Save = readerInv9.ReadLine();
                        Int32.TryParse(invHunger9Save, out inv[8].hungerGain);
                        readerInv9.Close();


                        //writer = new StreamWriter($"inv{i}.txt");
                        //writer.WriteLine(inv[i].foodString);
                        //writer.WriteLine(inv[i].healthGain);
                        //writer.WriteLine(inv[i].hungerGain);
                        //writer.Close();


                        Console.Clear();
                        Console.WriteLine("Loading....\r\nDone, Press any key to continue >");
                        Console.ReadKey();
                        startGame = true;
                        break;

                    case "new":
                        pl.rupees     = 0;
                        pl.health     = pl.startHealth;
                        pl.hunger     = pl.startHunger;
                        currentWeapon = 0;
                        slotChecker   = 0;
                        currentDay    = 1;
                        startGame     = true;
                        break;

                    default:
                        saveAsk = re.Ask("Wrong input, please pick load or new");


                        break;
                    }
                }
                // 1 2 or 3 for each case
                JFood pz1 = new JFood(3, 8, 0, 2, ($"Pizza Slice"), true);
                JFood dt1 = new JFood(2, 12, 0, 1, ("Donut"), true);
                JFood bs1 = new JFood(6, 2, 1, 6, ("BLT Sammy"), true);
                // Banana Apple Orange
                HFood ba1 = new HFood(10, 3, 1, 3, ("Banana"), true);
                HFood ap1 = new HFood(10, 1, 3, 1, ("Apple"), true);
                HFood or1 = new HFood(8, 1, 2, 2, ("Orange"), true);
                // OctoPopRocs, SugarSkullTulas, DekuPeanuts
                MFood   oc1        = new MFood(4, 10, -1, 1, ("OctoPopRocs"), true);
                MFood   su1        = new MFood(5, 5, -1, 0, ("SugarSkullTulas"), true);
                MFood   de1        = new MFood(9, 3, -2, 3, ("DekuPeanuts"), true);
                JFood[] jfoodArray = new JFood[3] {
                    pz1, dt1, bs1
                };
                HFood[] hfoodArray = new HFood[3] {
                    ba1, ap1, or1
                };
                MFood[] mfoodArray = new MFood[3] {
                    oc1, su1, de1
                };
                jfoodRandomizer = rd.Next(0, 3);
                hfoodRandomizer = rd.Next(0, 3);
                mfoodRandomizer = rd.Next(0, 3);
                while (goHome == false)
                {
                    goBack = true;
                    Console.Clear();
                    UI();
                    string buysellrentask = re.Ask("Welcome to my shop mighty traveler \r\n\r\nWould you like to Buy[1], Sell[2], Check inventory[i], go Home[g], or quit and save? [q] >");
                    buysellrentask = buysellrentask.ToLower();
                    int buysellrent = 0;
                    Int32.TryParse(buysellrentask, out buysellrent);
                    switch (buysellrentask)
                    {
                    case "i":
                        while (goBack == true)
                        {
                            Console.Clear();
                            UI();
                            Console.WriteLine("Which item would you like to select between 1-9? Or type [b] to go back >\r\n");
                            for (int i = 0; i < 9; i++)
                            {
                                Console.WriteLine($"\r\nItem Slot {i+1}");
                                Console.WriteLine($"Item : {inv[i].foodString}");
                            }
                            useAsk = Console.ReadLine();
                            useAsk = useAsk.ToLower();
                            if (useAsk == "b" || useAsk == "b")
                            {
                                goBack = false;
                                goHome = false;
                                break;
                            }
                            Int32.TryParse(useAsk, out use);
                            // if there is an item ask the player if they want to use it.
                            if ((use < 10 && use > 0) && (inv[use - 1].slotFilled == true))
                            {
                                use -= 1;
                                Console.Clear();
                                UI();
                                useAsk = re.Ask($"You have selected Item : {inv[use].foodString}\r\nHealth Gain : {inv[use].healthGain}\r\nHunger Gain : {inv[use].hungerGain}\r\n\r\nWould you like to use this? [y]es or [n]o >");
                                useAsk = useAsk.ToLower();
                                if (useAsk == "y" || useAsk == "yes")
                                {
                                    Console.WriteLine($"You eat the {inv[use].foodString}");
                                    Console.ReadKey();
                                    pl.health += inv[use].healthGain;
                                    pl.hunger += inv[use].hungerGain;
                                    if (pl.hunger > pl.startHunger)
                                    {
                                        pl.hunger = pl.startHunger;
                                    }
                                    if (pl.health > pl.startHealth)
                                    {
                                        pl.health = pl.startHealth;
                                    }
                                    for (int i = use; i < 8; i++)
                                    {
                                        inv[i] = inv[i + 1];
                                    }
                                    inv[8]    = new Inventory(0, 0, 0, "Blank", false);
                                    slotFound = true;

                                    slotChecker--;
                                    if (slotChecker < 0)
                                    {
                                        slotChecker = 0;
                                    }
                                }
                                goBack = true;
                            }
                            else
                            {
                                Console.WriteLine("Incorrect input");
                                Console.ReadKey();
                            }
                        }
                        continue;

                    case "g":

                        goHome = true;
                        break;

                    case "q":
                        gameOn = false;
                        break;

                    default:
                        while (goBack == true)
                        {
                            switch (buysellrent)
                            {
                            //Case for buying
                            case 1:
                                Console.Clear();
                                UI();
                                Console.WriteLine("Here is what I have available for today!\r\n");
                                Console.WriteLine($"{jfoodArray[jfoodRandomizer].foodString}[1]\r\n{hfoodArray[hfoodRandomizer].foodString}[2]\r\n{mfoodArray[mfoodRandomizer].foodString}[3]\r\n{jobUpgradeArray[currentWeapon+1].jobUpgradeName}[4]\r\nor back to store front[b]\r\n");
                                string foodAsk = re.Ask("What would you like to do? >");
                                foodAsk = foodAsk.ToLower();
                                if (foodAsk == "b")
                                {
                                    goBack = false;
                                    break;
                                }
                                int foodSure = 0;
                                Int32.TryParse(foodAsk, out foodSure);

                                switch (foodSure)
                                {           //Junk Food
                                case 1:
                                    //Note to self make void and when calling it here fill the parameter with j h or m
                                    Console.Clear();
                                    UI();
                                    purchaseAsk = re.Ask($"You have selected the {jfoodArray[jfoodRandomizer].foodString}\r\n\r\n{jfoodArray[jfoodRandomizer].foodString}\r\n" +
                                                         $"Price : {jfoodArray[jfoodRandomizer].price} \r\n" +
                                                         $"Quantity : {jfoodArray[jfoodRandomizer].quantity} \r\n" +
                                                         $"Health Gain : {jfoodArray[jfoodRandomizer].healthGain} \r\n" +
                                                         $"Hunger Gain : {jfoodArray[jfoodRandomizer].hungerGain}\r\n\r\n" +
                                                         $"Are you sure you would like to purchase this? [y] [n]? >");
                                    purchaseAsk = purchaseAsk.ToLower();


                                    if (((purchaseAsk == "y" || purchaseAsk == "yes")) && ((jfoodArray[jfoodRandomizer].quantity > 0) && (pl.rupees >= jfoodArray[jfoodRandomizer].price)))
                                    {
                                        slotFound = false;
                                        while (slotFound == false)
                                        {
                                            if (slotChecker > 8)
                                            {
                                                Console.WriteLine("You can't do that your inventory is full!");
                                                Console.ReadKey();
                                                break;
                                            }
                                            if (inv[slotChecker].slotFilled == false)
                                            {
                                                invSort.JInventorySorter(inv, slotChecker, jfoodArray, jfoodRandomizer);
                                                if (invSort.runInvSort == true)
                                                {
                                                    jfoodArray[jfoodRandomizer].quantity -= 1;
                                                    pl.rupees -= jfoodArray[jfoodRandomizer].price;
                                                    slotChecker++;
                                                    //I honestly think it's annoying you have to hit another button here, but I had to add it
                                                    //if the player purchases items too fast, the array bugs out and assigns everything to the same item
                                                    Console.WriteLine("You stow the item into your inventory");
                                                    Console.ReadKey();
                                                    slotFound = true;
                                                    break;
                                                }
                                            }

                                            slotChecker++;
                                        }
                                        Console.WriteLine($"Rupees = {pl.rupees}\r\nHunger : {pl.hunger}");
                                    }
                                    else if (((purchaseAsk == "y" || purchaseAsk == "yes")) && !((jfoodArray[jfoodRandomizer].quantity > 0) && (pl.rupees >= jfoodArray[jfoodRandomizer].price)))
                                    {
                                        Console.Clear();
                                        UI();
                                        Console.WriteLine($"You have selected the {jfoodArray[jfoodRandomizer].foodString}\r\n\r\n{jfoodArray[jfoodRandomizer].foodString}\r\n" +
                                                          $"Price : {jfoodArray[jfoodRandomizer].price} \r\n" +
                                                          $"Quantity : {jfoodArray[jfoodRandomizer].quantity} \r\n" +
                                                          $"Health Gain : {jfoodArray[jfoodRandomizer].healthGain}\r\n" +
                                                          $"Hunger Gain : {jfoodArray[jfoodRandomizer].hungerGain}\r\n\r\nEither you can't afford this, or there are none left in stock\r\nPress any key to go back >");
                                        Console.ReadKey();
                                    }
                                    break;


                                //Healthy Food
                                case 2:
                                    Console.Clear();
                                    UI();
                                    purchaseAsk = re.Ask($"You have selected the {hfoodArray[hfoodRandomizer].foodString}\r\n\r\n{hfoodArray[hfoodRandomizer].foodString}\r\n" +
                                                         $"Price : {hfoodArray[hfoodRandomizer].price} \r\n" +
                                                         $"Quantity : {hfoodArray[hfoodRandomizer].quantity} \r\n" +
                                                         $"Health Gain : {hfoodArray[hfoodRandomizer].healthGain} \r\n" +
                                                         $"Hunger Gain : {hfoodArray[hfoodRandomizer].hungerGain}\r\n\r\n" +
                                                         $"Are you sure you would like to purchase this? [y] [n]? >");
                                    purchaseAsk = purchaseAsk.ToLower();

                                    if (((purchaseAsk == "y" || purchaseAsk == "yes")) && ((hfoodArray[hfoodRandomizer].quantity > 0) && (pl.rupees >= hfoodArray[hfoodRandomizer].price)))
                                    {
                                        invSort.HInventorySorter(inv, slotChecker, hfoodArray, hfoodRandomizer);
                                        if (invSort.runInvSort == true)
                                        {
                                            hfoodArray[hfoodRandomizer].quantity -= 1;
                                            pl.rupees -= hfoodArray[hfoodRandomizer].price;
                                            slotChecker++;
                                            //I honestly think it's annoying you have to hit another button here, but I had to add it
                                            //if the player purchases items too fast, the array bugs out and assigns everything to the same item
                                            Console.WriteLine("You stow the item into your inventory");
                                            Console.ReadKey();
                                            break;
                                        }
                                        Console.WriteLine($"Rupees = {pl.rupees}\r\nHunger : {pl.hunger}");
                                    }
                                    else if (((purchaseAsk == "y" || purchaseAsk == "yes")) && !((hfoodArray[hfoodRandomizer].quantity > 0) && (pl.rupees >= hfoodArray[hfoodRandomizer].price)))
                                    {
                                        Console.Clear();
                                        UI();
                                        Console.WriteLine($"You have selected the {hfoodArray[hfoodRandomizer].foodString}\r\n\r\n{hfoodArray[hfoodRandomizer].foodString}\r\n" +
                                                          $"Price : {hfoodArray[hfoodRandomizer].price} \r\n" +
                                                          $"Quantity : {hfoodArray[hfoodRandomizer].quantity} \r\n" +
                                                          $"Health Gain : {hfoodArray[hfoodRandomizer].healthGain}\r\n" +
                                                          $"Hunger Gain : {hfoodArray[hfoodRandomizer].hungerGain}\r\n\r\nEither you can't afford this, or there are none left in stock\r\nPress and key to go back >");
                                        Console.ReadKey();
                                    }

                                    break;

                                //Mystery food
                                case 3:
                                    Console.Clear();
                                    UI();
                                    purchaseAsk = re.Ask($"You have selected the {mfoodArray[mfoodRandomizer].foodString}\r\n\r\n{mfoodArray[mfoodRandomizer].foodString}\r\n" +
                                                         $"Price : {mfoodArray[mfoodRandomizer].price} \r\n" +
                                                         $"Quantity : {mfoodArray[mfoodRandomizer].quantity} \r\n" +
                                                         $"Health Gain : ?\r\n" +
                                                         $"Hunger Gain : ?\r\n\r\n" +
                                                         $"Are you sure you would like to purchase this? [y] [n]? >");
                                    purchaseAsk = purchaseAsk.ToLower();

                                    if (((purchaseAsk == "y" || purchaseAsk == "yes")) && ((mfoodArray[mfoodRandomizer].quantity > 0) && (pl.rupees >= mfoodArray[mfoodRandomizer].price)))
                                    {
                                        invSort.MInventorySorter(inv, slotChecker, mfoodArray, mfoodRandomizer);
                                        if (invSort.runInvSort == true)
                                        {
                                            mfoodArray[mfoodRandomizer].quantity -= 1;
                                            pl.rupees -= mfoodArray[mfoodRandomizer].price;
                                            slotChecker++;
                                            //I honestly think it's annoying you have to hit another button here, but I had to add it
                                            //if the player purchases items too fast, the array bugs out and assigns everything to the same item
                                            Console.WriteLine("You stow the item into your inventory");
                                            Console.ReadKey();
                                            break;
                                        }
                                        Console.WriteLine($"Rupees = {pl.rupees}\r\nHunger : {pl.hunger}");
                                    }
                                    else if (((purchaseAsk == "y" || purchaseAsk == "yes")) && !((mfoodArray[mfoodRandomizer].quantity > 0) && (pl.rupees >= mfoodArray[mfoodRandomizer].price)))
                                    {
                                        Console.Clear();
                                        UI();
                                        Console.WriteLine($"You have selected the {mfoodArray[mfoodRandomizer].foodString}\r\n\r\n{mfoodArray[mfoodRandomizer].foodString}\r\n" +
                                                          $"Price : {mfoodArray[mfoodRandomizer].price} \r\n" +
                                                          $"Quantity : {mfoodArray[mfoodRandomizer].quantity} \r\n" +
                                                          $"Health Gain : ?\r\n" +
                                                          $"Hunger Gain : ?\r\n\r\nEither you can't afford this, or there are none left in stock\r\nPress and key to go back >");
                                        Console.ReadKey();
                                    }
                                    break;

                                //Next available weapon
                                case 4:
                                    Console.Clear();
                                    if (jobUpgradeArray[currentWeapon + 1].finalWeapon == false)
                                    {
                                        UI();
                                        purchaseAsk = re.Ask($"You have selected the {jobUpgradeArray[currentWeapon+1].jobUpgradeName}\r\n\r\n{jobUpgradeArray[currentWeapon+1].jobUpgradeName}\r\n" +
                                                             $"Price : {jobUpgradeArray[currentWeapon+1].price} \r\n" +
                                                             $"Preformance : {jobUpgradeArray[currentWeapon+1].jobUpgrade} \r\n" +
                                                             $"Description : {jobUpgradeArray[currentWeapon+1].upgradeDescription}\r\n\r\n" +
                                                             $"Are you sure you would like to purchase this? [y] [n]? >");
                                        purchaseAsk = purchaseAsk.ToLower();

                                        if (((purchaseAsk == "y") || (purchaseAsk == "yes")) && (pl.rupees >= jobUpgradeArray[currentWeapon + 1].price))
                                        {
                                            pl.rupees     -= jobUpgradeArray[currentWeapon + 1].price;
                                            currentWeapon += 1;
                                            //mfoodArray[foodRandomizer1].quantity -= 1;
                                            //pl.rupees -= mfoodArray[foodRandomizer1].price;
                                        }
                                        else if (((purchaseAsk == "y" || purchaseAsk == "yes")) && !(pl.rupees >= jobUpgradeArray[currentWeapon + 1].price))
                                        {
                                            Console.Clear();
                                            UI();
                                            Console.WriteLine($"You have selected the {jobUpgradeArray[currentWeapon + 1].jobUpgradeName}\r\n\r\n{jobUpgradeArray[currentWeapon + 1].jobUpgradeName}\r\n" +
                                                              $"Price : {jobUpgradeArray[currentWeapon + 1].price} \r\n" +
                                                              $"Preformance : {jobUpgradeArray[currentWeapon + 1].jobUpgrade} \r\n" +
                                                              $"Description : {jobUpgradeArray[currentWeapon + 1].upgradeDescription}\r\n\r\n" +
                                                              $"You can't afford this\r\nPress and key to go back >");
                                            Console.ReadKey();
                                        }
                                    }
                                    else
                                    {
                                        UI();
                                        purchaseAsk = re.Ask($"{jobUpgradeArray[currentWeapon + 1].jobUpgradeName}\r\n" +
                                                             $"Description : {jobUpgradeArray[currentWeapon + 1].upgradeDescription}\r\n\r\n" +
                                                             $"Press and key to go back >");
                                    }

                                    break;
                                }
                                break;

                            //Case for selling
                            case 2:
                                Console.Clear();
                                UI();
                                Console.WriteLine("What Items would you like to sell? press [b] to go back >");
                                for (int i = 0; i < 9; i++)
                                {
                                    Console.WriteLine($"\r\nItem Slot {i + 1}");
                                    Console.WriteLine($"Item : {inv[i].foodString}");
                                }
                                useAsk = Console.ReadLine();
                                useAsk = useAsk.ToLower();
                                if (useAsk == "b" || useAsk == "b")
                                {
                                    goBack = false;
                                    goHome = false;
                                    break;
                                }
                                Int32.TryParse(useAsk, out use);

                                if (use < 10 && use > 0)
                                {
                                    use -= 1;
                                    Console.Clear();
                                    UI();
                                    useAsk = re.Ask($"You have selected Item : {inv[use].foodString}\r\nHealth Gain : {inv[use].healthGain}\r\nHunger Gain : {inv[use].hungerGain}\r\nSell Price : {(inv[use].price/2)}\r\n\r\nWould you like to sell this? [y]es or [n]o >");
                                    useAsk = useAsk.ToLower();
                                    if (useAsk == "y" || useAsk == "yes")
                                    {
                                        Console.WriteLine($"You sell the {inv[use].foodString} for ${(inv[use].price/2)}");
                                        pl.rupees += (inv[use].price / 2);
                                        Console.ReadKey();

                                        inv[use] = new Inventory(0, 0, 0, "Blank", false);
                                        for (int i = use; i < 8; i++)
                                        {
                                            inv[use] = inv[use + 1];
                                            use++;
                                        }
                                        slotChecker--;
                                        if (slotChecker < 0)
                                        {
                                            slotChecker = 0;
                                        }
                                    }
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("Incorrect input");
                                    Console.ReadKey();
                                }



                                goBack = false;
                                Console.ReadKey();

                                break;

                            //Case for renting
                            case 3:
                                goBack = false;
                                Console.WriteLine("work in progress, press any key to continue >");
                                Console.ReadKey();
                                break;

                            default:
                                goBack = false;
                                Console.WriteLine("Incorrect input, press any key to continue >");
                                Console.ReadKey();
                                break;
                            }
                        }
                        continue;
                    }
                    break;
                }
                Console.Clear();
                if (gameOn == false)
                {
                    Console.Clear();
                    Console.WriteLine("Saving...\r\nNow Exiting.");
                    StreamWriter writer;
                    //Makes new text file with the name
                    writer = new StreamWriter("pl.rupees.txt");
                    //fills text file
                    writer.WriteLine(pl.rupees);
                    //closes so the reader can read
                    writer.Close();

                    writer = new StreamWriter("pl.health.txt");
                    writer.WriteLine(pl.health);
                    writer.Close();

                    writer = new StreamWriter("pl.hunger.txt");
                    writer.WriteLine(pl.hunger);
                    writer.Close();

                    writer = new StreamWriter("currentWeapon.txt");
                    writer.WriteLine(currentWeapon);
                    writer.Close();

                    writer = new StreamWriter("currentDay.txt");
                    writer.WriteLine(currentDay);
                    writer.Close();

                    writer = new StreamWriter("pl.hunger.txt");
                    writer.WriteLine(pl.hunger);
                    writer.Close();

                    writer = new StreamWriter("slotChecker.txt");
                    writer.WriteLine(slotChecker);
                    writer.Close();

                    for (int i = 0; i < 9; i++)
                    {
                        writer = new StreamWriter($"../../TextFiles/inv{i+1}.txt");
                        writer.WriteLine(inv[i].foodString);
                        writer.WriteLine(inv[i].healthGain);
                        writer.WriteLine(inv[i].hungerGain);
                        writer.Close();
                    }

                    break;
                }
                Console.Clear();
                UI();
                useAsk = re.Ask($"Would you like to [w]ork/sleep or check your [s]torage? >");
                switch (useAsk)
                {
                case "w":
                    Console.Clear();
                    UI();
                    goalDay         = 0;
                    multiplierRupee = 0;
                    goalDayAsked    = "";
                    goalDayAsked   += re.Ask($"How many days would you like to sleep and work before returning to the shop? >");
                    Int32.TryParse(goalDayAsked, out goalDay);
                    for (int i = 0; i < goalDay; i++)
                    {
                        pl.hunger -= rd.Next(0, 3);
                        if (pl.health <= 0)
                        {
                            break;
                        }
                        if (pl.hunger < 1)
                        {
                            pl.hunger  = 0;
                            pl.health -= (rd.Next(1, 3));
                        }

                        multiplierRupee = (rd.Next(3, 7) * jobUpgradeArray[currentWeapon].jobUpgrade);
                        pl.rupees      += multiplierRupee;
                        foundRupees    += multiplierRupee;
                        currentDay++;
                    }
                    break;

                case "s":

                    break;

                default:

                    break;
                }

                if (pl.health <= 0)
                {
                    Console.Clear();
                    UI();
                    Console.WriteLine("You starved to death, nice job");
                    gameOn = false;
                    Console.ReadKey();
                    break;
                }
                Console.Clear();
                UI();
                Console.WriteLine($"You work and sleep for {goalDay} days\r\nWith your {jobUpgradeArray[currentWeapon].jobUpgradeName} you mananged to get {foundRupees} Rupees\r\n\r\nPress Any Key To Continue >");
                multiplierRupee = 0;
                foundRupees     = 0;
                goHome          = false;
                Console.ReadKey();
            }
            Console.ReadKey();
        }