public override void BuildBurger() { Random rnd = new Random(); int randomMaxMeats = rnd.Next(_maxItems[0]); for (int i = 0; i < randomMaxMeats; i++) { int randMeat = rnd.Next(3); switch (randMeat) { case 0: Beef b = new Beef { Weight = rnd.NextDouble() * rnd.Next(5), Name = "говядина" }; Burger.AddMeat(b); Console.WriteLine("Добавили говядины"); MoneyCounter.LogBuyes(b); break; case 1: Ham h = new Ham { Weight = rnd.NextDouble() * rnd.Next(5), Name = "ветчина" }; Burger.AddMeat(h); Console.WriteLine("Добавили ветчины"); MoneyCounter.LogBuyes(h); break; case 2: Sausage s = new Sausage { Weight = rnd.NextDouble() * rnd.Next(5), Name = "сосиска" }; Burger.AddMeat(s); Console.WriteLine("Добавили сосиску"); MoneyCounter.LogBuyes(s); break; } Thread.Sleep(40); } int randomMaxVegetables = rnd.Next(_maxItems[1]); for (int i = 0; i < randomMaxVegetables; i++) { int randVegetable = rnd.Next(3); switch (randVegetable) { case 0: Vegetable Tomato = new Vegetable() { Weight = rnd.NextDouble(), VegetableType = TypeOfVegetable.Tomato, Name = "красный помидор" }; Burger.AddVegetable(Tomato); Console.WriteLine("Добавили красного помидора"); MoneyCounter.LogBuyes(Tomato); break; case 1: Vegetable Onion = new Vegetable() { Weight = rnd.NextDouble(), VegetableType = TypeOfVegetable.Onion, Name = "лук репчатый" }; Burger.AddVegetable(Onion); Console.WriteLine("Добавили лука репчатого"); MoneyCounter.LogBuyes(Onion); break; case 2: Vegetable Cucumber = new Vegetable() { Weight = rnd.NextDouble(), VegetableType = TypeOfVegetable.Cucumber, Name = "соленый огурчик" }; Burger.AddVegetable(Cucumber); Console.WriteLine("Добавили соленого огурчика"); MoneyCounter.LogBuyes(Cucumber); break; } Thread.Sleep(40); } int randomMaxCheeseSlices = rnd.Next(_maxItems[2]); for (int i = 0; i < randomMaxCheeseSlices; i++) { MoneyCounter.LogBuyes(Burger.AddCheeseSlice()); Thread.Sleep(40); } Console.WriteLine("Ура ваш бургер был собран"); }
static void Main(string[] args) { string beginSentence = "<---"; string finishSentence = "--->"; Director director = new Director(); beginning: ShowMenu(); int.TryParse(Console.ReadLine(), out int option); switch (option) { case 1: { _message = $"{beginSentence} Добро пожаловать в меню {finishSentence}\n" + $"{beginSentence} Вот что мы имеем : {finishSentence}\n" + $"{beginSentence} Сыр : {finishSentence}\n" + $"{beginSentence} Разные виды мяса: {finishSentence}\n" + $"{beginSentence} Разные виды овощей: {finishSentence}\n"; Console.WriteLine(_message); Console.WriteLine("Нажмите Enter чтобы войти в главное меню или любую другю клавищу чтобы выйти"); if (Console.ReadKey().Key == ConsoleKey.Enter) { Console.Clear(); goto beginning; } Exit(); break; } case 2: { Console.Clear(); ShowMenu(); Console.WriteLine("[1]Положить все игредиенты рандомно"); Console.WriteLine("[2]Собрать бургер самому"); int.TryParse(Console.ReadLine(), out option); switch (option) { case 1: { Console.WriteLine("Сколько положить максимально мясных изделий ?"); int.TryParse(Console.ReadLine(), out int maxMeats); Console.WriteLine("Сколько положить максимально овощей ?"); int.TryParse(Console.ReadLine(), out int maxVegetables); Console.WriteLine("Сколько положить максимально кусочков сыра ?"); int.TryParse(Console.ReadLine(), out int maxCheeseSlices); RandomBurgerBuilder builder = new RandomBurgerBuilder(maxMeats: maxMeats, maxVegetables: maxVegetables, maxCheeseSlices: maxCheeseSlices); director.StartToBuild(builder); builder.ShowPrice(); builder.Counter.GetBoughtItems(); break; } case 2: OriginalBurgerBuilder originalBurgerBuilder = new OriginalBurgerBuilder(); startMenu: Console.Clear(); Console.WriteLine("[1] Добавить сыра"); Console.WriteLine("[2] Добавить мяса"); Console.WriteLine("[3] Добавить овощей"); Console.WriteLine("[4] Сготовить бургер"); Console.WriteLine("[5] Выйти"); int.TryParse(Console.ReadLine(), out option); switch (option) { case 1: { Console.Clear(); Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { MoneyCounter.LogBuyes(originalBurgerBuilder.AddCheeseSlice()); } Thread.Sleep(200); goto startMenu; } case 2: { meatMenu: Console.Clear(); Console.WriteLine("[1] Добавить говядины"); Console.WriteLine("[2] Добавить сосиски"); Console.WriteLine("[3] Добавить ветчины"); Console.WriteLine("[4] Вернуться к меню"); int.TryParse(Console.ReadLine(), out option); switch (option) { case 1: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddMeat(nameof(Beef)); } Thread.Sleep(200); goto meatMenu; } case 2: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddMeat(nameof(Sausage)); } Thread.Sleep(200); goto meatMenu; } case 3: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddMeat(nameof(Ham)); } Thread.Sleep(200); goto meatMenu; } case 4: { goto startMenu; } } break; } case 3: { { VegMenu: Console.Clear(); Console.WriteLine("[1] Добавить лука"); Console.WriteLine("[2] Добавить помидора"); Console.WriteLine("[3] Добавить огурца"); Console.WriteLine("[4] Вернуться к меню"); int.TryParse(Console.ReadLine(), out option); switch (option) { case 1: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddVegetable("Tomato"); } Thread.Sleep(200); goto VegMenu; } case 2: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddVegetable("Cucumber"); } Thread.Sleep(200); goto VegMenu; } case 3: { Console.WriteLine("Сколько кусочков добавить"); int.TryParse(Console.ReadLine(), out option); for (int i = 0; i < option; i++) { originalBurgerBuilder.AddVegetable("Onion"); } Thread.Sleep(200); goto VegMenu; } case 4: { goto startMenu; } } break; } } case 4: { director.StartToBuild(originalBurgerBuilder); originalBurgerBuilder.ShowPrice(); break; } case 5: Console.Clear(); Exit(); break; } break; default: Console.WriteLine("Вы выбрали несуществующий пункт"); Exit(); break; } break; } case 9: { Console.Clear(); Exit(); break; } default: _message = "Вы выбрали несуществующий пункт"; Console.WriteLine(_message); break; } }