Esempio n. 1
0
 static void Scenario1(Panel myPanel, CageManager myCageManager)
 {
     myCageManager.colList[1].cages[0].curFloor = 20;
     myCageManager.colList[1].cages[1].curFloor = 3;
     myCageManager.colList[1].cages[2].curFloor = 13;
     myCageManager.colList[1].cages[3].curFloor = 15;
     myCageManager.colList[1].cages[4].curFloor = 6;
     requestQueue.Add(new Request("Destination", 0, 5, "Down"));
     requestQueue[0].assignment = "Assigned";
     myCageManager.colList[1].cages[0].destinationRequests.Add(requestQueue[0]);
     requestQueue.Add(new Request("Destination", 0, 15, "Up"));
     requestQueue[1].assignment = "Assigned";
     myCageManager.colList[1].cages[1].destinationRequests.Add(requestQueue[1]);
     requestQueue.Add(new Request("Destination", 0, 1, "Down"));
     requestQueue[2].assignment = "Assigned";
     myCageManager.colList[1].cages[2].destinationRequests.Add(requestQueue[2]);
     requestQueue.Add(new Request("Destination", 0, 2, "Down"));
     requestQueue[3].assignment = "Assigned";
     myCageManager.colList[1].cages[3].destinationRequests.Add(requestQueue[3]);
     requestQueue.Add(new Request("Destination", 0, 1, "Down"));
     requestQueue[4].assignment = "Assigned";
     myCageManager.colList[1].cages[4].destinationRequests.Add(requestQueue[4]);
     LoopTest(myPanel, myCageManager);
     requestQueue.Add(new Request("Pickup", 1, 20, "Up"));
     while (requestQueue.Count > 0)
     {
         LoopTest(myPanel, myCageManager);
     }
     myCageManager.GetCageStatus();
 }
Esempio n. 2
0
 static void Scenario4(Panel myPanel, CageManager myCageManager)
 {
     myCageManager.colList[0].cages[0].curFloor  = -4;
     myCageManager.colList[0].cages[1].curFloor  = 1;
     myCageManager.colList[0].cages[2].curFloor  = -3;
     myCageManager.colList[0].cages[3].curFloor  = -6;
     myCageManager.colList[0].cages[4].curFloor  = -1;
     myCageManager.colList[0].cages[2].status    = "Loading";
     myCageManager.colList[0].cages[3].status    = "Loading";
     myCageManager.colList[0].cages[4].status    = "Loading";
     myCageManager.colList[0].cages[2].direction = "Down";
     myCageManager.colList[0].cages[3].direction = "Up";
     myCageManager.colList[0].cages[4].direction = "Down";
     requestQueue.Add(new Request("Destination", 0, -5, "Down"));
     requestQueue[0].assignment = "Assigned";
     myCageManager.colList[0].cages[2].destinationRequests.Add(requestQueue[0]);
     requestQueue.Add(new Request("Destination", 0, 1, "Up"));
     requestQueue[1].assignment = "Assigned";
     myCageManager.colList[0].cages[3].destinationRequests.Add(requestQueue[1]);
     requestQueue.Add(new Request("Destination", 0, -6, "Down"));
     requestQueue[2].assignment = "Assigned";
     myCageManager.colList[0].cages[4].destinationRequests.Add(requestQueue[2]);
     LoopTest(myPanel, myCageManager);
     requestQueue.Add(new Request("Pickup", -3, 1, "Up"));
     while (requestQueue.Count > 0)
     {
         LoopTest(myPanel, myCageManager);
     }
     myCageManager.GetCageStatus();
 }
Esempio n. 3
0
    static void Main(string[] args)
    {
        bool           useDemoConfig = true;
        ConsoleKeyInfo cki;

        do
        {
            Console.WriteLine("Use demo configuration? [y/n]");
            while (Console.KeyAvailable == false)
            {
                Thread.Sleep(250); // Loop until valid input is entered.
            }

            cki = Console.ReadKey(true);
            if (cki.Key != ConsoleKey.Y && cki.Key != ConsoleKey.N)
            {
                Console.WriteLine("You pressed the '{0}' key. Please make a valid selection.", cki.Key);
            }
            else if (cki.Key == ConsoleKey.N)
            {
                Configuration.Config();
                Configuration.GenerateFloors();
                CageManager userCageManager = new CageManager();
                Panel       userPanel       = new Panel();
                userCageManager.GetCageStatus();
                foreach (Column column in userCageManager.colList)
                {
                    string report = userCageManager.GetFloorsServed(column);
                    Console.WriteLine(report);
                }
                useDemoConfig = false;
                return;
            }
        } while(cki.Key != ConsoleKey.Y);

        // DEMO CONFIGURATION //
        if (useDemoConfig)
        {
            Configuration.batteryOn      = true;
            Configuration.totalColumns   = 4;
            Configuration.cagesPerColumn = 5;
            Configuration.totalFloors    = 60;
            Configuration.totalBasements = 6;

            // CONFIRM DEMO SETUP //
            Console.WriteLine("\n-------HARDWARE SIMULATION-------");
            Console.WriteLine($"\n{"Hardware",-17} {"Value",15}\n");
            Console.WriteLine($"{"Battery", -17} {"On", 15}");
            Console.WriteLine($"{"Total Columns", -17} {Configuration.totalColumns, 15}");
            Console.WriteLine($"{"Cages Per Column", -17} {Configuration.cagesPerColumn, 15}");
            Console.WriteLine($"{"Total Floors", -17} {Configuration.totalFloors, 15}");
            Console.WriteLine($"{"Total Basements", -17} {Configuration.totalBasements, 15}");
        }

        // INSTANTIATE FLOORS //
        Configuration.GenerateFloors();

        // INSTANTIATE CAGEMANAGER //
        CageManager myCageManager = new CageManager();

        // INSTANTIATE PANEL //
        Panel myPanel = new Panel();

        while (Configuration.batteryOn)
        {
            int selection = Configuration.GetIntInput("\nPlease select a scenario\n(1,2,3,4 or 5 to EXIT)\n", 0);
            if (selection == 1)
            {
                Scenario1(myPanel, myCageManager);
            }
            else if (selection == 2)
            {
                Scenario2(myPanel, myCageManager);
            }
            else if (selection == 3)
            {
                Scenario3(myPanel, myCageManager);
            }
            else if (selection == 4)
            {
                Scenario4(myPanel, myCageManager);
            }
            else if (selection == 5)
            {
                Configuration.batteryOn = false;
            }
            else
            {
                Console.WriteLine(selection + " is not a valid selection. Please make a valid selection.");
            }
        }
    }