Exemple #1
0
        // Metoden låter användaren välja vilken position i vektorn som skall bytas ut och sedan väljer användaren vilken dryck som skall adderas till vektorn istället.
        public void ExchangeBottle()
        {
            userChoice = -1;

            Bottle pepsi    = new Bottle("Pepsi", 8, "Läsk");
            Bottle zingo    = new Bottle("Zingo", 8, "Läsk");
            Bottle sevenUp  = new Bottle("7up", 8, "Läsk");
            Bottle cocaCola = new Bottle("Coca Cola", 10, "Läsk");
            Bottle fanta    = new Bottle("Fanta", 10, "Läsk");
            Bottle sprite   = new Bottle("Sprite", 10, "Läsk");
            Bottle ramlosa  = new Bottle("Ramlösa", 9, "Kolsyrat Vatten");
            Bottle loka     = new Bottle("Loka", 11, "Kolsyrat Vatten");

            do
            {
                Console.WriteLine("BYT FLASKA I LÄSKBACKEN");
                Console.WriteLine("---------------------------------------------------");
                int x = 0;

                foreach (Bottle entity in sodaCrate)
                {
                    Console.Write("Fack {0}: ", x + 1);
                    Console.WriteLine(entity);
                    x++;
                }

                Console.WriteLine("---------------------------------------------------");
                Console.WriteLine("Vilken position vill du byta ut flaskan på? ");
                Console.WriteLine("---------------------------------------------------");
                Console.Write("Ditt val: ");
                try
                {
                    userChoice = int.Parse(Console.ReadLine());
                }
                catch (FormatException)
                {
                    Console.WriteLine("Använd endast siffror, försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }
                catch (OverflowException)
                {
                    Console.WriteLine("För många tecken, ditt val skall bestå av endast en siffra. Försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }
                catch (Exception)
                {
                    Console.WriteLine("Något gick fel, försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }
            } while (userChoice == -1);

            int oldBottle = userChoice - 1;

            Console.Clear();

            Console.WriteLine("Du har valt att byta ut:");
            Console.WriteLine("--------------------------------------------");
            try
            {
                Console.WriteLine(sodaCrate[oldBottle]);
            }
            catch (IndexOutOfRangeException)
            {
                Console.WriteLine("Finns inget att byta på denna position, försök igen!");
                ExchangeBottle();
            }


            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("Vilken flaska vill du stoppa in istället?");
            Console.WriteLine("--------------------------------------------");
            Console.WriteLine("1. Pepsi         8:-         Läsk");
            Console.WriteLine("2. Zingo         8:-         Läsk");
            Console.WriteLine("3. 7up           8:-         Läsk");
            Console.WriteLine("4. Coca Cola     10:-        Läsk");
            Console.WriteLine("5. Fanta         10:-        Läsk");
            Console.WriteLine("6. Sprite        10:-        Läsk");
            Console.WriteLine("7. Ramlösa       9:-         Kolsyrat vatten");
            Console.WriteLine("8. Loka          11:-        Kolsyrat vatten");
            Console.WriteLine("--------------------------------------------");
            Console.Write("Ditt val: ");

            do
            {
                try
                {
                    userChoice = int.Parse(Console.ReadLine());
                }
                catch (FormatException)
                {
                    Console.WriteLine("Använd endast siffror, försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }
                catch (OverflowException)
                {
                    Console.WriteLine("För många tecken, ditt val skall bestå av endast en siffra. Försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }
                catch (Exception)
                {
                    Console.WriteLine("Något gick fel, försök igen!");
                    Thread.Sleep(1000);
                    Console.Clear();
                    userChoice = -1;
                }

                if (userChoice < 1 || userChoice > 8)
                {
                    userChoice = -1;
                }
            } while (userChoice == -1);

            switch (userChoice)
            {
            case 1:
                sodaCrate[oldBottle] = pepsi;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 2:
                sodaCrate[oldBottle] = zingo;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 3:
                sodaCrate[oldBottle] = sevenUp;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 4:
                sodaCrate[oldBottle] = cocaCola;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 5:
                sodaCrate[oldBottle] = fanta;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 6:
                sodaCrate[oldBottle] = sprite;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 7:
                sodaCrate[oldBottle] = ramlosa;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            case 8:
                sodaCrate[oldBottle] = loka;
                Console.WriteLine("Flaska tillagd i läskback!");
                Thread.Sleep(500);
                Console.Clear();
                break;

            default:
                Console.WriteLine("Ditt val är inte tillgängligt, försök igen!");
                Thread.Sleep(1000);
                Console.Clear();
                break;
            }

            userChoice = -1;
        }
Exemple #2
0
        // Metoden lägger till flaskor enligt användarens input. Denna metod körs i en do-while loop tills att användaren vill avsluta.
        public void AddBottle()
        {
            userChoice = -1; // "Nollställer" userChoice för att kunna återanvändas i nästa switch-case meny

            // Här skapas de flaskor som skall finnas tillgängliga för användaren att lägga till i läskbacken
            Bottle pepsi    = new Bottle("PEPSI", 8, "LÄSK");
            Bottle zingo    = new Bottle("ZINGO", 8, "LÄSK");
            Bottle sevenUp  = new Bottle("7UP", 8, "LÄSK");
            Bottle cocaCola = new Bottle("COCA COLA", 10, "LÄSK");
            Bottle fanta    = new Bottle("FANTA", 10, "LÄSK");
            Bottle sprite   = new Bottle("SPRITE", 10, "LÄSK");
            Bottle ramlosa  = new Bottle("RAMLÖSA", 9, "KOLSYRAT VATTEN");
            Bottle loka     = new Bottle("LOKA", 11, "KOLSYRAT VATTEN");

            for (int i = 0; i < sodaCrate.Length; i++)
            {
                if (sodaCrate[i] == null)
                {
                    do
                    {
                        // Textbaserade delen av menyn.
                        // TODO: Lägga till så att tillgängliga alternativ automatiskt uppdateras om nya objekt (flaskor) skapas
                        Console.WriteLine("LÄGG TILL FLASKOR I LÄSKBACKEN!");
                        Console.WriteLine("------------------------------------------");
                        Console.Write("Antal flaskor i läskbacken: ");
                        Console.WriteLine(numberOfBottles);
                        Console.WriteLine("------------------------------------------");
                        Console.WriteLine("1. PEPSI         8:-         LÄSK");
                        Console.WriteLine("2. ZINGO         8:-         LÄSK");
                        Console.WriteLine("3. 7UP           8:-         LÄSK");
                        Console.WriteLine("4. COCA COLA     10:-        LÄSK");
                        Console.WriteLine("5. FANTA         10:-        LÄSK");
                        Console.WriteLine("6. SPRITE        10:-        LÄSK");
                        Console.WriteLine("7. RAMLÖSA       9:-         KOLSYRAT VATTEN");
                        Console.WriteLine("8. LOKA          11:-        KOLSYRAT VATTEN");
                        Console.WriteLine("------------------------------------------");
                        Console.WriteLine("0. Återgå till huvudmeny");
                        Console.WriteLine("------------------------------------------");
                        Console.WriteLine();
                        Console.Write("Ditt val: ");

                        try
                        {
                            userChoice = int.Parse(Console.ReadLine());
                        }
                        catch (FormatException)
                        {
                            Console.WriteLine("Använd endast siffror, försök igen!");
                            Thread.Sleep(1000);
                            Console.Clear();
                            userChoice = -1;
                        }
                        catch (OverflowException)
                        {
                            Console.WriteLine("För många tecken, ditt val skall bestå av endast en siffra. Försök igen!");
                            Thread.Sleep(1000);
                            Console.Clear();
                            userChoice = -1;
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("Något gick fel, försök igen!");
                            Thread.Sleep(1000);
                            Console.Clear();
                            userChoice = -1;
                        }
                    } while (userChoice == -1);

                    switch (userChoice)
                    {
                    case 1:
                        numberOfBottles++;
                        sodaCrate[i] = pepsi;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 2:
                        numberOfBottles++;
                        sodaCrate[i] = zingo;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 3:
                        numberOfBottles++;
                        sodaCrate[i] = sevenUp;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 4:
                        numberOfBottles++;
                        sodaCrate[i] = cocaCola;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 5:
                        numberOfBottles++;
                        sodaCrate[i] = fanta;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 6:
                        numberOfBottles++;
                        sodaCrate[i] = sprite;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 7:
                        numberOfBottles++;
                        sodaCrate[i] = ramlosa;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 8:
                        numberOfBottles++;
                        sodaCrate[i] = loka;
                        Console.WriteLine("Flaska tillagd i läskback!");
                        Thread.Sleep(500);
                        Console.Clear();
                        break;

                    case 0:
                        Console.Clear();
                        i = sodaCrate.Length;
                        break;

                    default:
                        Console.WriteLine("Ditt val är inte tillgängligt, försök igen!");
                        i--;
                        Thread.Sleep(1500);
                        Console.Clear();
                        break;
                    }
                }

                if (numberOfBottles == sodaCrate.Length)
                {
                    Console.WriteLine("---------------------------------------------------");
                    Console.Write("Antal flaskor i läskbacken: ");
                    Console.WriteLine(numberOfBottles);
                    Console.WriteLine("---------------------------------------------------");
                    Console.WriteLine("Läskbacken är full!");
                    Console.WriteLine("Tryck på valfri knapp för att återvända till menyn!");
                    Console.ReadKey();
                    Console.Clear();
                    userChoice = -1;
                    break;
                }
            }
        }