life

Conway's game of Life
Patrick J. Naughton. (port D.Bagley 1997)
1991

History 01-Nov-2000: Allocation checks
03-Oct-2000: Added more randomness in pattern 90 degree orientation and
mirror image.
08-Dec-1997: Paul Callahan's B2a/S2b34 rule added.
Described on the news site for cellular-automata.

http://www.cs.jhu.edu/~callahan/lifepage.html
http://www.cs.jhu.edu/~callahan/hexrule.txt
B2a/S2b34: Birth of x if 2a,
Survival of x if 2b, 3, or 4 neighbors
Assume symmetry.
(2a, 2b, 2c: 2o, 2m, 2p original notation)
O O O . O .
2a: . x . 2b: . x O 2c: . x .
. . . . . O
Also Bob Andreen's rule (my own notation for consistency)
B2a3a4b/S2a2b4a (original notation: 234'B/22'4S)

O O O O O .
3a: . x O 3b: . x . 3c: . x O
. . . O O .

O O O O O O
4a: . x O 4b: . x O 4c: . x .
. O O . O O
Some other rules
B2a3b3c5/S12b2c3a4b4c6
B23a3c4b4c6/S12b2c3c4a56
B2a2c6/S13b
27-Oct-1997: xpm and ras capability added.
04-Jun-1997: Removed old algorithm, now use wator's. I could not
understand it and had trouble adding more features.
New algorithm is more efficient iff there lots of blank
areas (ptr loop rather than a double array loop)
10-May-1997: Compatible with xscreensaver
07-May-1997: life neighbor option. Still have to fix -neighbor 3
07-Jan-1995: life now has a random soup pattern.
07-Dec-1994: life now has new organisms. They are now better centered.
Some of the nonperiodic forms were removed. New life
forms were taken from xlife (an AMAZING collection of life
forms). life's gliders now come from the edge of the screen
except when generated by a life form.
23-Nov-1994: Bug fix for different iconified window sizes
21-Jul-1994: Took out bzero & bcopy since memset & memcpy is more portable
10-Jun-1994: Changed name of function 'kill', which is a libc function on
many systems from Victor Langeveld
Changes in original xlock
24-May-1991: Added wraparound code from johnson_at_bugs.comm.mot.com.
Made old cells stay blue.
Made batchcount control the number of generations until restart.
29-Jul-1990: support for multiple screens.
07-Feb-1990: remove bogus semi-colon after #include line.
15-Dec-1989: Fix for proper skipping of {White,Black}Pixel() in colors.
08-Oct-1989: Moved seconds() to an extern.
20-Sep-1989: Written, life algorithm courtesy of Jim Graham