Overview

I have written a Tetris clone that demonstrates how to use off-screen graphics buffering for smooth animation and utilizes a multi-dimensional array approach to designing a game grid. The classes are largely self-explanatory and the techniques are documented in code well enough to explain what is going on. I have enclosed two screen shots as well. A summary of the classes is as follows:  



LayoutForm.cs              this is merely the GUI for the game and controls all keyboard input
Screen.cs                     this class handles the creation of off-screen graphics used for
double-buffering

Shape.cs                      this class takes care of creating the shape and positioning it in the game grid

GameGrid.cs                 this class represents the game grid - comprised of a multi-dimensional array

Next Recommended Readings