Plan the app
Let's have a look at how the app will be developed.
Mission statement
Let us look at the app's requirements before beginning any work in Xcode.
We will write a game that presents a group of four color-coded buttons which flash in an order generated by the app, which is then to be repeated by the user by tapping the buttons. If the user does this successfully, the sequence length is extended by adding a randomly generated color, and is flashed again (the flash interval needs to be a suitable time, say, in the region of one second). The sequence gets longer and longer, each time requiring the user to repeat it. Eventually the user will fail, and will be presented with his 'score'—the length of the last correctly guessed sequence, and a prompt to start the next game.
So that's our game, time to get building that interface, right?
Well, no, not quite yet. To make the best use of our coding time, and to produce the best code possible, we will try to formalize our game requirements into...