Assumptions
- The program has been deployed into the Proteus
- The user can reasonably read and comprehend the instructions and menus
- The Proteus is accompanied with a stylus that the user can use
Important Variables and Their Uses
- FEHIcon::Icon IceCream, Milkshake, Cherry, Chocolate, etc.
- These variables are buttons that are used when the user needs to guess the order.
- points
- keeps track of every time the button pressed corresponds to the randomly generated dessert, flavor, or topping
- FEHIcon::Icon menu[5]
- array of 5 icons for the starting menu
- char menu_labels
- labels for each button in the menu
- type
- randomly generated integer that corresponds to ice cream if the value is 0 or a milkshake if the value is 1
- flav
- randomly generated integer that corresponds to flavors
- top
- randomly generated integer that corresponds to toppings
- dessert
- variable that is set to true to take touch input when user selects the type of dessert
- flavor
- variable that is set to true to take touch input when user selects the type of flavor
- topping
- variable that is set to true to take touch input when user selects the type of topping
- perfects
- variable that keeps track of the number of perfectly created orders
- wrong
- variable that keeps track of any wrong orders
- totalpoints
- variable that accumulates the total number of points
Functions
- int TypeGen();
- USE: Generates 2 random numbers of value 0 or 1 and returns this number
- EXAMPLE: Once the random number has been generated it can be used to assign a number to a specific dessert, like ice cream or milkshake
- int FlavGen();
- USE: Generates 2 random numbers of value 0 or 1 and returns this number
- EXAMPLE: Once the random number has been generated it can be used to assign a number to a specific flavor, like chocolate, lemon, or cotton candy
- int TopGen();
- USE: Generates 2 random numbers of value 0 or 1 and returns this number
- EXAMPLE: Once the random number has been generated it can be used to assign a number to a specific topping, like cherry or oreos
- void DrawType();
- USE: Draw 2 buttons on the screen and images in each button
- EXAMPLE: Use this function to draw ice cream and milkshake images in each dessert button so that they can be used in the guessing part of the game
- void DrawFlavors();
- USE: Draw 6 buttons on the screen and colors in each button
- EXAMPLE: Use this function to draw colors in each flavor button so that they can be used in the guessing part of the game
- void DrawToppings();
- USE: Draw 3 buttons on the screen and images in each button
- EXAMPLE: Use this function to draw images in each topping button so that they can be used in the guessing part of the game (cherry, oreos, sprinkles)
Program Performance
- The program performed as intended with the ability to make 10 orders
- The program has a short delay in between each message so the user can know if they recreated the order correctly
Limitations
- The colors are often difficult to differentiate between
- The game does not have the ability to reset statistics or view high scores
- A touch that is too long will sometimes result in an unintended guess and therefore a loss of points