EduFun Inc. is a company that specializes in developing games that run on Windows 8 devices. The marketing team of the company performs a market survey and proposes that the company should come up with a new game that enhances the general knowledge of the children in the age group of 7 to 12.
You work as an app developer at EduFun Inc. You are assigned the task of developing a game named BrainChallange.
Being an app developer, you need to ensure that the app provides the following functionalities:
n It is game that involves a single player.
n When the game starts, the player is prompted to enter the name.
n The game asks 20 questions to the player. The questions are randomly picked from a question pool (stored as a plain text file).
n For each question asked, four options are provided as possible answers to the question. The user needs to select the correct option to score points. For every correct answer, the player is rewarded with 100 points.
n The game will be over if either of the following conditions becomes true:
l The player selects a wrong option as an answer to the given question.
l The player answers all twenty questions correctly.
l The player quits the game.
n The game has four milestones at question number 5, 10, 15, and 20. The milestone ensures the minimum points to be rewarded to the player who has answered the milestone questions correctly. For example, consider that a player has answered the first 12 questions correctly, but selects a wrong option for question number 13. The actual score of the player at this stage is 1200 points. However, because of selecting an incorrect answer, the player will be rewarded with the points scored at the end of the previous milestone only. In this case, the player has not answered all the questions for milestone 3 correctly. Therefore, the player will be awarded with the points accumulated after milestone 2, which is after question number 10, for which the score is 1000. However, instead of answering question number 13 incorrectly, if the player opts to quit the game, the final score would be 1200 points only.
n The player is provided with two helplines as trump cards, TryTwice and ChangeQuestion.
n The player can opt to use the TryTwice trump card once in a playing session. This trump card allows the player to answer a question two times. In the first attempt, if the player gives an incorrect answer, there will still be another chance for the player to answer the same question. The player cannot quit the game on the question which has been opted for this trump card.
n The player can opt to use the ChangeQuestion trump card once in a playing session. This trump card allows the player to replace the given question with a different question from the question pool.
n The objective of the game is to score maximum points, while using the minimum number of trump cards.
n The UI of the game must indicate the progress of the user.
n The name of the player, the date when the game was played, and the points scored by the player need to be stored.
n The app provides the Help button on the UI that the player can click to view the rules of the game.
n When a game is over, the user should be given an option to start a new game.
n The player should have an option to check the scores by clicking a button on the UI. Clicking this button should display the scoreboard in the following format:
S. No. | Player Name | Date | Points Scored | Number of Unused Trump Cards |
1. | $$$$$$$$ | DD-MMM-YYYY HH-mm-SS | ######## | ## |
2. | $$$$$$$$ | DD-MMM-YYYY HH-mm-SS | ######## | ## |
3. | $$$$$$$$ | DD-MMM-YYYY HH-mm-SS | ######## | ## |
n The app allows the users to continue the game from where they left.
n The app allows the users to cancel the current game.
n The app must provide a fast and fluid experience by using page transitions.
n The app must be resolution independent.
n The controls added in the app should have a consistent look and feel.
To implement the preceding functionalities, you need to perform the following tasks:
1. Analyze the app requirements.
1. Design the paper prototype, and then design the UI of the app.
2. Implement the specified functionality of the app.
3. Test the app.
4. Document the project.