Esempio n. 1
0
        static void Main(string[] args)
        {
            string tmp;
            Cars   cars = new Cars(3);

            cars[0] = new Lamborghini("Huracan EVO", 1422, 2, 80, 14, 270, 520);
            cars[1] = new Tesla("Model X", 2400, 5, 100, 2, 250, 770);
            cars[2] = new Ferrari("488 Pista", 1350, 2, 80, 12, 340, 720);

            int    car = 1;
            double x;

            while (car >= 1 && car <= 3)
            {
                Console.WriteLine("1 - Lamborghini\n" +
                                  "2 - Tesla\n" +
                                  "3 - Ferrari\n" +
                                  "0 - Exit");
                do
                {
                    Console.Write("Ваш выбор: ");
                    tmp = Console.ReadLine();
                } while (!int.TryParse(tmp, out car) || (car < 0) || (car > 3));
                int request = 1;
                switch (car)
                {
                case 1:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Lamborghini\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "4 - Режим Strada\n" +
                                          "5 - Режим Sport\n" +
                                          "6 - Режим Corsa\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во топлива : ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        case 4:
                            cars[car - 1].Strada();
                            break;

                        case 5:
                            cars[car - 1].Sport();
                            break;

                        case 6:
                            cars[car - 1].Corsa();
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                case 2:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Tesla\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во kW: ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                case 3:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Ferrari\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "4 - Включить drift mode (RWD)\n" +
                                          "5 - Выключить drift mode (4WD)\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во топлива : ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        case 4:
                            cars[car - 1].DriftON();
                            break;

                        case 5:
                            cars[car - 1].DriftOFF();
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                default:
                    break;
                }
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Car lamba = new Lamborghini("Aventador SVJ", 1575, 2, 80, 16, 300, 570);
            Car ferra = new Ferrari("F12 berlinetta", 1350, 2, 80, 12, 280, 720);
            Car tesla = new Tesla("Model X", 2400, 5, 100, 2, 250, 770);

            List <Car> arr = new List <Car>()
            {
                lamba, ferra, tesla
            };

            Console.WriteLine("Before sorting:");
            foreach (Car i in arr) //before Lamborghini Ferrari Tesla
            {
                i.ShortInfo();
            }
            arr.Sort();
            Console.WriteLine("After sorting:");
            foreach (Car i in arr) //after Tesla Ferrari Lamborghini
            {
                i.ShortInfo();
            }

            cars[0] = new Lamborghini("Huracan EVO", 1422, 2, 80, 14, 270, 520);
            cars[1] = new Tesla("Model X", 2400, 5, 100, 2, 250, 770);
            cars[2] = new Ferrari("488 Pista", 1350, 2, 80, 12, 340, 720);

            string tmp;
            int    car = 1;
            double x;

            while (car >= 1 && car <= 3)
            {
                Console.WriteLine("1 - Lamborghini\n" +
                                  "2 - Tesla\n" +
                                  "3 - Ferrari\n" +
                                  "0 - Exit");
                do
                {
                    Console.Write("Ваш выбор: ");
                    tmp = Console.ReadLine();
                } while (!int.TryParse(tmp, out car) || (car < 0) || (car > 3));
                int request = 1;
                switch (car)
                {
                case 1:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Lamborghini\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "4 - Режим Strada\n" +
                                          "5 - Режим Sport\n" +
                                          "6 - Режим Corsa\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[0].Notify += message =>
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine(message);
                                Console.ResetColor();
                            };
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во топлива : ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        case 4:
                            cars[car - 1].Strada();
                            break;

                        case 5:
                            cars[car - 1].Sport();
                            break;

                        case 6:
                            cars[car - 1].Corsa();
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                case 2:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Tesla\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во kW: ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                case 3:
                    while (request > 0)
                    {
                        Console.WriteLine("1 - Информация про Ferrari\n" +
                                          "2 - Погнали\n" +
                                          "3 - Заправить автомобиль\n" +
                                          "4 - Включить drift mode (RWD)\n" +
                                          "5 - Выключить drift mode (4WD)\n" +
                                          "0 - Выбрать другой автомобиль");
                        do
                        {
                            Console.Write("Ваш выбор : ");
                            tmp = Console.ReadLine();
                        } while (!int.TryParse(tmp, out request) || (request < 0));
                        switch (request)
                        {
                        case 1:
                            cars[car - 1].ShowInfo();
                            break;

                        case 2:
                            Console.Write("Введите расстояние в километрах:");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].Move(x);
                            break;

                        case 3:
                            Console.Write("Введите кол-во топлива : ");
                            tmp = Console.ReadLine();
                            double.TryParse(tmp, out x);
                            cars[car - 1].FillUpTank(x);
                            break;

                        case 4:
                            cars[car - 1].DriftON();
                            break;

                        case 5:
                            cars[car - 1].DriftOFF();
                            break;

                        default:
                            break;
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            KeyHandler keyHandler = KeyInput;

            keyHandler += ChooseColor;
            RunInputLoop(keyHandler);
        }