A user story leading to end-user and technical requirements
This post details the requirements for the game concept that we have in mind. Up next is the user story behind this app idea.
User Story
I want to be able to solve everyday mathematical problems mentally without using a calculator.
Objective
A simple game where you sharpen your math skills by answering a few quick questions. The questions can be, e.g. 7 * 8, 0.88 * 0.44 , 9 / 3 , 987 – 432, 999 + 1324 etc etc. There is no time limit to answer the question but there will be a timer that will keep track of how long before a question was answered. So that way you can see your progress at the speed of answering questions, over time.
Requirements
A random number generator to generate numbers.
A selection of the Mathematical operation to apply to it i.e. + – * / .
A selection of the number of digits for the calculation e.g. 2 = 0.83, 3 = 432, etc.
A timer feature to show a ticking clock until the question is answered.
Track scores! Provide a storage mechanism that tracks the time it took to solve a problem.
The users can control the difficulty of the game i.e. a mechanism to control the digits in each calculation.
The user should get some feedback on whether or not their solution was the correct.
Give the users some gaming controller style vibrations based feedback i.e. force feedback.
To get a sense of progression, the users should have an area to view the problems they solved and the time they took.
Technical requirements (iOS)
Create a random number generator powered by arc4random or using the datatype’s random method. e.g.
let r1 = arc4random() %16 or
let r2 = Double.random(in: 0…1)
A picker to set the upper bound of the number of digits per calculation i.e. 10, 15, 20, 100 etc
An option to show the number of decimal places i.e. 0, 1, 2, 3 , we max it at 3
A switch that controls whether or not we show fractions.
A button to generate a problem i.e. random numbers.
For iOS:
- The results stored in UserDefaults
- A TableView to see the past problems, solutions and....
You can read the rest of this post here
Comments