why bother having main(function why bother with readability summaryand hacking suggestion slide puzzle how to play slide puzzle source code to slide puzzle second versesame as the first setting up the buttons being smart by using stupid code the main game loop clicking on the buttons sliding tiles with the mouse sliding tiles with the keyboard --equal to one of|trick with the in operator wasd and arrow keys actually performing the tile slide idle and terminating pygame programs checking for specific eventand posting events to pygame' event queue creating the board data structure not tracking the blank position making move by updating the board data structure when not to use an assertion getting not-so-random move converting tile coordinates to pixel coordinates converting from pixel coordinates to board coordinates drawing tile the making text appear on the screen drawing the board drawing the border of the board email questions to the authoral@inventwithpython com