Life 1.0b3 Copyright 1996 Eric Kidd http://www.pobox.com/~emk/sw/be/ ftp://www.dartmouth.edu/people/emk/ftp/be/ SYNOPSIS Now much faster, and in color! Two programs are included with this archive. "Life" is a screen saver module for Hiroshi Lockheimer's "saver" application. LivingAlone is a standalone application which displays the same animation using the GameKit. Both programs implement the "game of life." The rules are simple: 1) The screen is divided into a grid of squares 2) Squares may be alive (colored) or dead (black). 3) Each square has eight surrounding squares. 4) Squares with more than three live neighbors die of overpopulation. 5) Squares with fewer than two live neighbors die of loneliness. 6) Dead squares with exactly three neighbors come to life. ...and three special rules, free of charge... 7) Offscreen squares are always dead. 8) Repeating patterns of length 17 or less are restarted. 9) Color changes with the age of squares Rule (8) ensures that the screen saver, does, in fact, save your screen, and prevents the standalone version from becoming very boring. The screen saver version tries to conserve processor power by running at B_LOW_PRIORITY. It should run very slowly if a more important program is running, but use all available cycles if no other program needs the CPU. To quit LivingAlone, hit Command-Q. REQUIREMENTS BeOS DR8 saver (available from ) VERSION HISTORY 1.0b3 Added Game Kit version Rewrote saver module to use Hiroshi's CSaveThread class No more sample animation in config view Fixed screen-freeze bug first seen in 1.0b2 1.0b2 (unreleased) Square sizes must be multiple of 4 for speed Modularized animation code Faster (no longer snoozes between frames) Color 1.0b1 UPDATED FOR BeOS DR8 Updated for new saver API Uses DrawBitmapAsync Compatible with Random 1.0b0 Initial release SOURCES Source code is included with the package. You'll also need my libraries, which are generally available from my web site and FTP directories. Feel free to carve up this screen saver to write your own, but beware of any section of the code marked with "XXX". BUGS I've rewritten most of the program, eliminating many of the older bugs. A few remain: * No real error recovery. * No preferences. * Sometimes Command-Q is sent to the wrong application (BeOS bug) * Probably many others.