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(); }
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(); }
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."); } } }