\About \DLife \cThis application is developed using the Concurrent Clean System, \ca programming environment for the functional programming \clanguage Concurrent Clean. This system is developed by the \cresearch group Functional Languages at the University of Nijmegen. \dThe Concurrent Clean System is freely available via FTP for \dMacintoshes, Suns, and PCs (OS/2, Windows95) \d(see ftp.cs.kun.nl and http://www.cs.kun.nl/~clean/). \EndAbout \Help \DLife Help \bAbout the Game of Life The Game of Life by Conway is played in a two-dimensional, infinite universe of cells. Each cell is identified by its position (x,y). The neighbours of a cell (x,y) are the cells \c[ (x+i,y+j) \\ i<-[-1..1], j<-[-1..1], (i,j)<>(0,0) ] A cell is either dead or alive. Given a generation of cells, the next generation is computed using the following simple rules: For each cell in the universe: * it survives if it has 2 or 3 living neighbours, otherwise it dies * it is born if it has 3 living neighbours \bUsing the program The program opens a "Life" window which displays only a finite part of the infinite universe of life. The universe can be displayed with an individual cell size of 1,2,4,8, or 16 pixels per cell (see 'Options' menu, 'Cell Size' settings). In the "Life" window the user can indicate that a cell is alive by pressing the mouse button at the desired position. A cell is killed by pressing the mouse button in combination with the command modifier key. All cells can be killed using the 'Erase All Cells' command ('Commands' menu). These include also the cells that are not displayed. Given a generation one can compute and display the next generation with the 'Step' command (menu 'Commands'). The 'Play' command (menu 'Commands') does this continuesly. The 'Play' command does not detect cyclic situations nor even if the universe consists of dead cells only. To halt a 'Play' session, choose 'Halt' (menu 'Commands'). To quit the application, choose the 'Quit' command (menu 'File). \EndHelp