Example #1
0
        //It is very open to your interpretation, but it could look something like below, which basically gives the user the ability to interact with all the methods you created->

        //A example Main menu to interact with the garage:
        //1. Add a Car to the Garage
        //2. Remove a Car from the Garage
        //3. List all Cars
        //4. Test drive a car
        //5. Refuel all cars

        //And then a sub menu to interact with the car that was selected(under 4. Test drive a car):
        //1. Turn on car
        //2. Accelerate
        //3. Brake
        //4. Turn off car
        //5. Return car
        static void Main(string[] args)
        {
            Garage joeGarage = new Garage();

            int selection = 0;

            restartMainMenu();
            do
            {
                var input = Console.ReadKey(false).Key;
                switch (input)
                {
                case ConsoleKey.D1:      //the D1 means "1" above the q key and Numpad1 means "1" on num pad!
                case ConsoleKey.NumPad1: //once you're in the switch, it continues until a break, so D1 or NumPad1
                    //Console.WriteLine("Decision Has Been Made!!! - 1\n");
                    selection = 1;
                    Console.WriteLine("Add a Car to the Garage!\n");
                    Console.Write("\tEnter Make: ");
                    string theMake = Console.ReadLine();
                    Console.Write("\n\tEnter Model: ");
                    string theModel = Console.ReadLine();
                    joeGarage.AddCar(theMake, theModel);
                    restartMainMenu();
                    break;

                case ConsoleKey.D2:
                case ConsoleKey.NumPad2:
                    //Console.WriteLine("Decision Has Been Made!!! - 2\n");
                    selection = 2;
                    Console.WriteLine("Remove a Car from the Garage!\n");
                    Console.Write("\tEnter Make: ");
                    string theRemovedMake = Console.ReadLine();
                    Console.Write("\n\tEnter Model: ");
                    string theRemovedModel = Console.ReadLine();
                    joeGarage.RemoveCarByMakeAndModel(theRemovedMake, theRemovedModel);
                    Console.WriteLine("\n...Press Enter to Continue");
                    Console.ReadLine();
                    restartMainMenu();
                    break;

                case ConsoleKey.D3:
                case ConsoleKey.NumPad3:
                    //Console.WriteLine("Decision Has Been Made!!! - 3\n");
                    selection = 3;
                    Console.WriteLine("  MAKE        MODEL       RUNNING?  FUEL      SPEED");
                    for (int car = 0; car < joeGarage.TheGarage.Count; car++)
                    {
                        Console.WriteLine(car + " " + joeGarage.AllStatsofCarToString(car));
                    }
                    Console.WriteLine("\n...Press Enter to Continue");
                    Console.ReadLine();
                    restartMainMenu();
                    break;

                case ConsoleKey.D4:
                case ConsoleKey.NumPad4:
                    //Console.WriteLine("Decision Has Been Made!!! - 4\n");
                    selection = 4;
                    carOpsMenu(ref joeGarage);
                    selection = 0;
                    restartMainMenu();
                    break;

                case ConsoleKey.D5:
                case ConsoleKey.NumPad5:
                    Console.WriteLine("Decision Has Been Made!!! - 5\n");
                    selection = 5;
                    joeGarage.FuelAllCars();
                    Console.WriteLine("\n...Press Enter to Continue");
                    Console.ReadLine();
                    restartMainMenu();
                    break;

                case ConsoleKey.Escape:
                    selection = 6;
                    break;

                case ConsoleKey.Enter:
                    break;

                default:
                    break;
                }
            } while (selection != 6);
        }