Welcome to the world of Ergo! In this directory are five subdirectories: (1) Article -- which contains the full text of the published article on Ergo. (2) From_Article -- which contains the complete set of files mentioned in the article and all the other files needed to build the simple version of Ergo described there. This directory is the basis for all the other versions of Ergo included. (3) Multi-Board_Version -- which contains a modified version of Ergo that allows any number of new, user-defined boards to be loaded and run. (4) Palette_Version -- which contains a version of Ergo whose nib file was created using a loadable palette of special Interface Builder Ergo objects. Also included is the source files that created the palette, and the palette itself, which can be used to create custom Ergo game boards. (5) Proper_Ending -- which contains a severely modified version of Ergo that supports proper end-of-game checks and a simple timer for each player. If you want to have fun creating some advanced features yourself first, don't look in this directory until after you've exhausted yourself, because some of the code in here may act as a spoiler. Under directories (3)-(5), any files that are in common with directory (2) have been symbolically linked to those files. This both saves space and makes it more obvious exactly which files have changed in the new directory. A READ_ME file in each subdirectory should also help you to understand the changes. LINK WARNING: because there are links everywhere, if you copy these directories using the Workspace, be sure you check "Repeat" and click on "New Links" when it asks you what to do with links. The obj subdirectory of the Palette_Version exists because otherwise this copy will fail...the Workspace won't copy links to files that don't exist yet (a bug in the Workspace in my opinion). The directories (1) and (2) contain relatively well-thought-out writing and source code for the simple world of Ergo. Directories (3)-(5) were thrown together much more quickly, and though they do demonstrate that Ergo's classes can be extended and re-used (as I claimed), there are a few less-than-elegant constructs here and there, so please use them as a guide to interesting approaches and not as a template for all your own programming. In some cases, I've purposefully done something in an unconventional way just to shake up your view of programming, or to get you thinking along new pathways...I hope you have fun with all this! Charles