vii drawing the buttons animating the tile slides the copy(surface method creating new puzzle animating the board reset time vs memory tradeoffs nobody cares about few bytes nobody cares about few million nanoseconds summary simulate how to play simulate source code to simulate the usual starting stuff setting up the buttons the main(function some local variables used in this program drawing the board and handling input checking for mouse clicks checking for keyboard presses the two states of the game loop figuring out if the player pressed the right buttons epoch time drawing the board to the screen same old terminate(function reusing the constant variables animating the button flash drawing the buttons animating the background change the game over animation