static void Main(string[] args) { UserInterface userInterface = new UserInterface(); DroidCollection droidCollection = new DroidCollection(); bool exitBool = false; while (exitBool == false) { int choice = userInterface.MainMenu(); switch (choice) { case 1: Droid inputDroid = userInterface.InputDroid(); droidCollection.AddDroid(inputDroid); break; case 2: string output = droidCollection.ToString(); userInterface.PrintAllOutput(output); break; case 3: exitBool = true; break; default: userInterface.PrintError(); break; } } }
/// <summary> /// returns an instance of JanitorDroid based of the prompts /// </summary> /// <returns></returns> public static new Droid CreateDroid() { bool toolBoxTmp, computerConnectionTmp, armTmp, vacuumTmp, trashCompactorTmp; string material, color; Console.WriteLine("Please input the droids material"); material = Console.ReadLine(); Console.WriteLine("Please input the droids color"); color = Console.ReadLine(); Console.WriteLine("has a toolbox? (y/n)"); toolBoxTmp = Droid.yesOrNo(); Console.WriteLine("has a computer connection? (y/n)"); computerConnectionTmp = Droid.yesOrNo(); Console.WriteLine("has a arm? (y/n)"); armTmp = Droid.yesOrNo(); Console.WriteLine("has a vacuum? (y/n)"); vacuumTmp = Droid.yesOrNo(); Console.WriteLine("has a trash compactor? (y/n)"); trashCompactorTmp = Droid.yesOrNo(); return(new JanitorDroid(material, color, toolBoxTmp, computerConnectionTmp, armTmp, trashCompactorTmp, vacuumTmp)); }
public void AddDroid(Droid addDroid) { int counter = 0; for (counter = 0; counter < droids.Length; counter++) { if (droids[counter] == null) { droids[counter] = addDroid; return; } } }
/// <summary> /// returns an instance of AstromechDroid based of the prompts /// </summary> /// <returns></returns> public static new Droid CreateDroid() { bool toolBoxTmp, computerConnectionTmp, armTmp, fireExtinquisherTmp; string material, color; int shipsSupportedTmp; Console.WriteLine("Please input the droids material"); material = Console.ReadLine(); Console.WriteLine("Please input the droids color"); color = Console.ReadLine(); Console.WriteLine("has a toolbox? (y/n)"); toolBoxTmp = Droid.yesOrNo(); Console.WriteLine("has a computer connection? (y/n)"); computerConnectionTmp = Droid.yesOrNo(); Console.WriteLine("has a arm? (y/n)"); armTmp = Droid.yesOrNo(); Console.WriteLine("has a fireExtinquisher? (y/n)"); fireExtinquisherTmp = Droid.yesOrNo(); Console.WriteLine("number of supported ships"); //prevents bad input while (!int.TryParse(Console.ReadLine(), out shipsSupportedTmp)) { //deletes bad input from the console int currentLineInt = Console.CursorTop - 1; Console.SetCursorPosition(0, Console.CursorTop - 1); Console.Write(new string(' ', Console.WindowWidth)); Console.SetCursorPosition(0, currentLineInt); } return(new AstromechDroid(material, color, toolBoxTmp, computerConnectionTmp, armTmp, fireExtinquisherTmp, shipsSupportedTmp)); }
//***************END METHOD TO CREATE NEW DROID COLLECTION ARRAY***************// //*******************METHOD TO ADD NEW DROID TO COLLECTION**************// public void AddNewDroid(Droid newDroid) { droidCollection[droidCollectionLength] = newDroid; droidCollectionLength++; }
//Add a new item to the collection public void AddNewItem(string material, string model, string color) { //Add a new WineItem to the collection. Increase the Length variable. droidItems[droidItemsLength] = new Droid(material, model, color); droidItemsLength++; }
public static UIMenu AstromechDroidMenu = new UIMenu(); // Astromech Droid Menu static void Main(string[] args) { // Populate menus populateMenus(); // Initialize the console window UserInterface.InitializeConsoleWindow("Droid Creator"); // Main program loop do { // Print the main menu and get an answer from the user int menuChoice = UserInterface.GetMainMenuSelection(MenuSelections, "Droid Making Program"); // Make a choice depending on the menu selection switch (menuChoice) { // Add a droid case 1: // General pattern here is 1) draw the menu 2) declare value variables 3) get the values from the menu elements and assign them to the value variables // Variable to hold the new droid Droid assembledDroid = null; #region Droid Variables // Variables to hold values that will be used to create a new droid Droid.DroidMaterial material = Droid.DroidMaterial.AGRINIUM; Droid.DroidColor color = Droid.DroidColor.BLACK; Droid.DroidModel model = Droid.DroidModel.ASTROMECH; int numberOfLanguages = 0; bool hasToolbox = false; bool hasComputerConnection = false; bool hasArm = false; bool hasTrashCompactor = false; bool hasVacuum = false; bool hasFireExtinguisher = false; int numberOfShips = 0; #endregion // Start menu GeneralDroidMenu.Start(); #region General Droid Handling // Get handle to UI elements SelectionBox materialBox = (SelectionBox)GeneralDroidMenu.GetElementByTitle("material:"); SelectionBox colorBox = (SelectionBox)GeneralDroidMenu.GetElementByTitle("color:"); SelectionBox modelBox = (SelectionBox)GeneralDroidMenu.GetElementByTitle("model:"); // Extract and assign data from elements Enum.TryParse <Droid.DroidMaterial>(materialBox.SelectedText, out material); Enum.TryParse <Droid.DroidColor>(colorBox.SelectedText, out color); Enum.TryParse <Droid.DroidModel>(modelBox.SelectedText, out model); #endregion #region Protocol and Utility Droid Handling // Decide which menu to show next based on what they entered for "model" switch (model) { case Droid.DroidModel.PROTOCOL: // For the protocol droid... // Start the menu ProtocolDroidMenu.Start(); // Get handle to UI element SelectionBox numLanguagesBox = (SelectionBox)ProtocolDroidMenu.GetElementByTitle("number of languages:"); // Extract and assign data from element int.TryParse(numLanguagesBox.SelectedText, out numberOfLanguages); break; case Droid.DroidModel.UTILITY: // For the utility, janitor, and astromech droids... case Droid.DroidModel.JANITOR: case Droid.DroidModel.ASTROMECH: // Start the menu UtilityDroidMenu.Start(); // Get handle to UI elements SelectionBox hasToolboxBox = (SelectionBox)UtilityDroidMenu.GetElementByTitle("toolbox:"); SelectionBox hasComputerConnectionBox = (SelectionBox)UtilityDroidMenu.GetElementByTitle("computer connection:"); SelectionBox hasArmBox = (SelectionBox)UtilityDroidMenu.GetElementByTitle("arm:"); // Extract and assign data from elements bool.TryParse(hasToolboxBox.SelectedText, out hasToolbox); bool.TryParse(hasComputerConnectionBox.SelectedText, out hasComputerConnection); bool.TryParse(hasArmBox.SelectedText, out hasArm); #region Janitor and Astromech Droid Handling // Take care of the janitor and astromech droids switch (model) { case Droid.DroidModel.JANITOR: // For the janitor droid... // Start the menu JanitorDroidMenu.Start(); // Get handle to UI elements SelectionBox hasTrashCompactorBox = (SelectionBox)JanitorDroidMenu.GetElementByTitle("trash compactor:"); SelectionBox hasVacuumBox = (SelectionBox)JanitorDroidMenu.GetElementByTitle("vacuum:"); // Extract and assign data from elements bool.TryParse(hasTrashCompactorBox.SelectedText, out hasTrashCompactor); bool.TryParse(hasVacuumBox.SelectedText, out hasVacuum); break; case Droid.DroidModel.ASTROMECH: // For the astromech droid... // Start the menu AstromechDroidMenu.Start(); // Get handle to UI elements SelectionBox hasFireExtinguisherBox = (SelectionBox)AstromechDroidMenu.GetElementByTitle("fire extinguisher:"); SelectionBox numberOfShipsBox = (SelectionBox)AstromechDroidMenu.GetElementByTitle("number of ships:"); // Extract and assign data from elements bool.TryParse(hasFireExtinguisherBox.SelectedText, out hasFireExtinguisher); int.TryParse(numberOfShipsBox.SelectedText, out numberOfShips); break; } #endregion break; } #endregion // Based on what the user entered, create a new droid from that data switch (model) { case Droid.DroidModel.PROTOCOL: assembledDroid = new ProtocolDroid(material, model, color, numberOfLanguages); break; case Droid.DroidModel.UTILITY: assembledDroid = new UtilityDroid(material, model, color, hasToolbox, hasComputerConnection, hasArm); break; case Droid.DroidModel.JANITOR: assembledDroid = new JanitorDroid(material, model, color, hasToolbox, hasComputerConnection, hasArm, hasTrashCompactor, hasVacuum); break; case Droid.DroidModel.ASTROMECH: break; } // FINALLY, add the assembled droid to the list DroidCollection.Add(assembledDroid); // Clear screen UserInterface.ClearScreen(); // Draw status UserInterface.SetStatus(UserInterface.PressAnyPhrase(assembledDroid.Model + " droid added to droid list!")); // Wait for user to press a key Console.ReadKey(true); break; // List the droids case 2: UserInterface.ListDroids(); break; // Exit program case 3: System.Environment.Exit(0); break; } } while (true); }
// adds a new droid to droid collections public void Add(Droid NDroid) { DCollection[DCLength] = NDroid; //increment length DCLength++; }