New Version:
- Increased stability. Starting a new game while the level is changing or the hammer is still on screen doesn't screw things up.
- Images are now pooled instead of being constantly created over and over again. (See this node and this node by pg). Images are loaded once as Tk::Photo objects, then reused from then on with the new getImage() method.
- Blocks displayed on the block preview canvas are now properly centered.
- Changed the next level message.
- Cleaned up the code more.
I must say, this whole process was as easy as it was enjoyable. I would encourage anyone thinking of doing something similar to go ahead and do it.