Objectives Successful completion of this activity will show that you can do the following:Develop using custom objects
Creation of instance classes
Demonstrate integrative development
Instructions To complete milestone 2, revisit code from the previous milestone. If updates are needed based on provided feedback, please make those before moving forward.Open your existing GameConsole application
Add new class files: Menu and User
Include header comments: Name, Date, Course, and Synopsis in each
user.csCreate fields to store user data: username, age, and theme (light/dark)
use the constructor pass-in/set field values when a user object is instantiated
When instantiated, call a method that changes the console’s coloring based on the value of the object’s field data.
Create another method to display the user’s profile
Menu.cs Menus should be dynamic objects. Note: As an analogy, think of how a restaurant has menus for appetizers, specials, lunch, dinner, drinks, desserts, etc… They may be shown together, or not. Each menu however is still just a displaying of options.
The constructor should allow passing in/saving a list of menu options
Create a Display method so it displays the object’s options. If you can, allow the starting number of the menu options to be dynamic.
Note: Since the Menu class now doesn’t contain any hard-coded items related to specific menus, it can even be reused for future applications. Just like validation or UI.Program.cs. Remove the ‘setup screen’ (user questions from milestone 1) from the application flow. Instead, instantiate a user object after the loading screen. Passing in the required arguments to simulate a user being auto-logged in.
Within the ‘home screen’, instantiate three menu objects: games, user, and system. Passing in an appropriate list of options to each… view the example below to see which options each should contain.
Similar to the games, we want to allow the user to keep playing. Instead of asking them directly, we can simply re-display the menus until they choose to exit. Use a loop like we’ve done before to welcome the user and display each of the menus.
Additionally, use another method to request a menu selection, providing instructions on what to do based on their choice. The user’s selection will be from one of the options in either of the three menus.
The games do not need to actually run, then can be simulated like within the examples below. Register New User, will also just be a placeholder, this functionality will be added in milestone 3.
Since this selection method knows if the user wants to exit, use it return whether or not the play loop should continue.