Reference no: EM133516393
Mobile Development Fundamentals
Assessment Task: Hangman App
Summary
You will implement an app in AppInventor based on a given project specification. This app will use a range of components. You will also submit a brief report containing pseudocode and describing how your solution utilises various concepts we have learned in class.
AI support
You may use Artificial Intelligence tools (such as ChatGPT) to help you with this assignment task. Include a description of this help in your Statement of Assistance, and keep a copy of your chat history.
Learning Outcome 1: Understand constructs typical of many programming languages such as: variables, expressions, assignment, sequence, selection, iteration, procedures, parameters, return values.
Learning Outcome 2: Design, develop, test and debug mobile apps from a given textual program specification. Learning Outcome 3: Analyse the input, processing and output needs of small programming problems.
Learning Outcome 4: Design code sequences to realise algorithms in a programming language.
Learning Outcome 5: Design basic user interfaces and develop storyboards to convey designed interaction sequences.
1. Application Description
Your assignment is to develop your own version of a "Hangman"-style game application, using MIT AppInventor. In this game, the app will select a random word and the player must try to guess the word within a certain number of guesses by suggesting letters. For more information about the game.
The application may contain one or more screens to fulfill the requirements described below. You are free to design the interface(s) of your app as you like, but your solution should also fulfil the requirements in a logical way.
The below functional requirements, expressed as use cases, should be supported:
• The player launches the game, and is presented with the menu screen, which displays options for "Play" and "Time Trial".
• From the menu screen, the player selects "Play", which takes them to the game screen. The app randomly selects a word from a list, and the game screen shows a series of blank indicators, indicating how long the word is. For example, if the word to guess is "CAT", it could be initially displayed as "_ _ _".
• From the game screen, the player chooses a letter that is not in the word. The display updates to show which letter has been attempted, and presents a visible indicator of the remaining incorrect guesses using images.
• From the game screen, the player chooses a letter that is present in the word. The game screen updates the blank indicators that correspond to the selected letter. For example, if the word to guess is "CAT", and the player chooses "A", the display changes to "_A_"
• From the game screen, the player correctly enters all letters from the word without running out of incorrect guesses. The game displays a congratulations message.
• From the game screen, the player has no remaining incorrect guesses, and chooses a letter that is not in the word. The app displays a message indicating that play is over, and the correct answer is revealed.
• When the game is over (whether the user won or lost), the app presents a button with the option to restart.
• The player launches the game, and selects "Time Trial", which takes them to the game screen. Play proceeds as indicated above, with the addition of a 30 second timer that starts counting down when the first guess is made.
• During time-trial play, the timer reaches zero while the correct guess has not been entered. The app displays a message indicating that play is over, and the correct answer is revealed.
• Once play is over, the player chooses "Menu". The game returns to the menu screen.
You may choose to extend the above Use Cases, to invent something novel! If you do, include a description of your changes in your report. Refer to the marking criteria for inflexible requirements.
For example, you may include:
• Point scoring
• Multiple letters per guess, with penalties is any letter is incorrect
• Wordle-style guessing
• Multiple time-trial options
• Challenge modes
General Requirements for Coding
While your app should meet the functionality described above, you also need to ensure that you satisfactorily demonstrate all the concepts that have been covered in ITECH2000 so far. To achieve full marks, you will need to ensure that you have correctly made use of each of the following components or constructs somewhere in your app:
• a Notifier
• Various user interface components, including Labels, Textboxes, Buttons, and/or Checkboxes, as well as HorizontalArrangement, VerticalArrangement or TableArrangement (or all of them).
• a Clock and instants
• the list construct
• a repetition construct
• a decision construct (eg IF)
• a Boolean (AND or OR) expression.
• Procedures that you have defined using the ‘to do' or ‘to do ... result' blocks.
2. Brief Report Requirements
As well as completing the program described above in AppInventor, you are also required to submit a brief report that includes the following:
• Pseudocode describing the behaviour of three (3) events that your app will respond to. Ensure that you clearly label these events so that it is clear what aspect you are modelling.
• A statement of completion, indicating which features, constructs, and components you have applied. This may simply be a table of all Use Cases and the above components or constructs, with an indicator as to whether each has been implemented.
• A statement of assistance, indicating which help you received, either from peers, from online tutorials, or from Artificial Intelligence.