Tetris is fun: fun to write and fun to play. My particular version of Tetris is written in Python 2.5 using Pygame. I developed it as an exercise to improve my Python knowledge. The implementation, though mostly unremarkable, attempts to strictly adhere to a model-view-controller architecture in the hopes of easy extensibility to a lockstep network model. I employ one clever trick: resources are cached via memoization of the loading functions. All the artwork is my own. Ironically, the art took twice as long as the code; accomplished artist I am not.
The Python source code is available under an MIT license.