The game loop
What is a game loop anyway? Almost every game has a game loop. Even games you might suspect do not, such as turn-based games, still need to synchronize player input with drawing and processing AI while following the rules of the underlying operating system.
There is a constant need to update the objects in a game, perhaps by moving them, rotating them, and so on. And then everything must be drawn in its new position, all the while responding to user input. A visual might help:
				Figure 9.2 – Visualizing the game loop
Our game loop comprises three main phases:
- Update all game objects by moving them, detecting collisions, and processing AI if used.
 - Based on the just-updated data, draw the objects (current frame of animation) in their latest state.
 - Respond to screen touches from the player.
 
We already have a draw method for handling that part of the loop. This suggests that we will have a method to do all the...