The Evolution of Life*

The following is a series of snapshots taken as I developed the Life applet, starting from the Life application. Each link will bring you to an applet snapshot and its associated source code.

If you find any problems (other than those mentioned in the descriptions), please let me know. Thanks!

Back to syllabus

Link Added Features
Version 0 The original application, not an applet at all.
Version 1 This version just sets up a "Hello, Web!" applet.
Version 2 The paint routine is modified to display something more like the final product.
Version 3 The init method is introduced to initialize the array, and the paint method is modified to just do the painting.
Version 4 This version adds a button. To put the button where we want it (so that it doesn't get covered over by ovals), we introduce a layout manager. The layout manager, in turns, forces us to use a canvas.
Version 5 Gets the size of the canvas and uses it, rather than assuming the size of the applet. Requires Java 1.1 or better.
Version 6 Make the button "Step" button active. This involves adding an ActionListeneractionPerformed.
Version 7 Merge in the code for the actual Life game, wreaking havoc and causing changes too numerous to mention.
Version 8 Create a separate thread to run Life, so that we can change the "Step" button into a "Stop/Go" button.
Version 9 Add the ability to click on any cell on the board to change its color.
Version 10 Final version. Add some handy buttons and some TextField controls.

*Sorry, I couldn't resist!