Tetris For Intro/Intermediate Programmers

David Kosbie
Carnegie Mellon University
koz@cmu.edu

Abstract

These notes are designed for intro/intermediate programmers.  The notes are adapted from another set of notes designed for AP Computer Science A teachers, and probably contain some peculiarities due to vestiges of that earlier purpose.

Note that this design for Tetris is somewhat simplified for these purposes, though the end result is indeed a reasonably functional game of Tetris.  Also, note that the Java code accompanying these notes is not fully tested and is not necessarily designed to exacting standards.

Finally:  the techniques used to create this game can be used to create many other popular arcade games.  Have fun!

Contents

  1. Prerequisites (JComponentWithEvents)
  2. Building Tetris
    1. Design overview
    2. Creating and drawing the board
    3. Creating and drawing the fallingPiece
    4. Moving the fallingPiece left/right/down
    5. Rotating the fallingPiece
    6. Dropping and Placing the fallingPiece and handling Game-Over
    7. Removing full rows, keeping score, and playing MIDI
    8. More ideas