// 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; }
// 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; } } }