Ergo, a game

Ergo is an implementation of a simple board game from a video arcade. The program is simple enough to be implemented quickly yet clearly shows many of the characteristics of good object-oriented design. 

Ergo is a little like Go, Othello, and Reversi. Players take turns moving a piece of their color either one or two squares. A one-square move replicates the old piece, creating a new piece in the new square. Two-square moves are jumps; the moving piece does not stay behind, but travels into the new square. A piece can't land on a square that is blocked or otherwise occupied (it can, however, jump over such squares). If, in its new position, the moved piece is directly adjacent to pieces of the opposite color, it captures those pieces by switching them to its color