Пример #1
0
        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("Ура ваш бургер был собран");
        }
Пример #2
0
        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;
            }
        }