Пример #1
0
        /// <summary>
        /// Функция менеджмента диспетчеров
        /// </summary>
        /// <param name="plane">принимает ссылку на список диспетчеров</param>
        static void ManageDispatchers(ref Plane plane)
        {
            Console.WriteLine("1 удаление диспетчера\n2 добавление диспетчера\n3 выход");
            ConsoleKeyInfo keyInfo = Console.ReadKey();
            switch (keyInfo.Key)
            {
                case ConsoleKey.D1:
                    {
                        int i = 0;
                        int number;
                        string s = null;
                        Console.WriteLine("Выбирете id диспетчера");
                        foreach (Dispathcer d in plane.Dispathcers)
                        {
                            Console.WriteLine("{0} {1}", i++, d.Name);
                        }
                        s = Console.ReadLine();
                        if (Int32.TryParse(s, out number))
                        {
                            try
                            {
                                plane.GetPenaltyPointsFromDeletedDispatcher(plane.Dispathcers[number]);
                                plane.Dispathcers.RemoveAt(number);
                            }
                            catch (IndexOutOfRangeException ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }

                    }
                    break;
                case ConsoleKey.D2:
                    {
                        List<Dispathcer> list = SetDispatchers();
                        plane.AddDispatcher(list);
                    }
                    break;
                case ConsoleKey.D3: return;
                default: break;
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            List<Dispathcer> disps = SetDispatchers();
            Plane plane = new Plane("3218", disps);

            Console.WriteLine("Управление стрелками курсора. D - открывает меню диспетчеров");
            Console.WriteLine("Ок. Взлетайте");
            Console.WriteLine(plane);
            while (true)
            {
                if (!plane.MayFly)
                {
                    Console.WriteLine("Недостаточно диспетчеров");
                    plane.AddDispatcher(SetDispatchers());
                }
                ConsoleKeyInfo keyInfo = Console.ReadKey();
                if (keyInfo != null)
                {
                    try
                    {
                        switch (keyInfo.Key)
                        {
                            case ConsoleKey.RightArrow:
                                {
                                    if (keyInfo.Modifiers.ToString() == "Shift") plane.UpSpeedStrong();
                                    else plane.UpSpeed();
                                    Console.WriteLine("скорость+");
                                    Console.WriteLine(plane);
                                    ShowDispathcerInfo(plane.Dispathcers);
                                }
                                break;
                            case ConsoleKey.LeftArrow:
                                {
                                    if (keyInfo.Modifiers.ToString() == "Shift") plane.DownSpeedStrong();
                                    else plane.DownSpeed();
                                    Console.WriteLine("скорость-");
                                    Console.WriteLine(plane);
                                    ShowDispathcerInfo(plane.Dispathcers);
                                }
                                break;
                            case ConsoleKey.UpArrow:
                                {
                                    if (keyInfo.Modifiers.ToString() == "Shift") plane.UpHeightStrong();
                                    else plane.UpHeight();
                                    Console.WriteLine("высота+");
                                    Console.WriteLine(plane);
                                    ShowDispathcerInfo(plane.Dispathcers);
                                }
                                break;
                            case ConsoleKey.DownArrow:
                                {
                                    if (keyInfo.Modifiers.ToString() == "Shift") plane.DownHeightStrong();
                                    else plane.DownHeight();
                                    Console.WriteLine("высота-");
                                    Console.WriteLine(plane);
                                    ShowDispathcerInfo(plane.Dispathcers);
                                }
                                break;
                            case ConsoleKey.D: ManageDispatchers(ref plane);
                                break;
                            default: break;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
                else
                {
                    Console.WriteLine(" Вы ввели: {0}", keyInfo.Key.ToString());
                }

            }

        }