- 3 radio button inputs
- button to submit
- text field for result
- text field for wins/losses
- userPick
- wins / losses / totalPlays
- randomRPS
- button click
- generate random rps (0, 1, 2)
- get user input
- compare random rps to user choice
- if guessed correctly -- increment the wins
- else -- increment the losses
(bolded steps are mandatory, unbolded are for more advanced projects)
- Make a drawing of your app. Simple "wireframes"
- Once you have a drawing, name the HTML elements you'll need to realize your vision
- For each HTML element ask: Why do I need this?
- Ask which of out HTML elements are hard coded, and which are dynamically generated?
- Once we know why we need each element, think about how to implement the "Why" as a "How"
- Is there some state we need to initialize?
- Find all the 'events' (user clicks, form submit, on load etc) in your app. Ask one by one, "What happens when" for each of these events. Does any state change?
- Think about how to validate each of your steps
- Ask: should any of this work be abstracted into functions? (i.e., is the work complicated? can it be resused?)
- Consider your data model. What objects will you be using? What are the key/value pairs? What arrays do you need? What needs to live in local storage?
- Consider what features depend on what other features. Use this dependency logic to figure out what order to complete tasks.