nullprogram.com/blog/2009/12/13/
Sources:
git clone git://github.com/skeeto/GameOfLife.git
Since I recently got back into Java recently, I threw together this
little Game of Life implementation in Java. It looks a lot like my maze generator/solver on the inside,
reflecting the way I think about these things. Gavin wrote a
competing version of the game in Processing which we were partially
discussing the other night, so I made my own.
The individual cells are actually objects themselves, so you could
inherit the abstract Cell class and drop in your own rules. I bet you
could even write a Cell that does the
iterated prisoner's dilemma cellular automata. The Cell objects
are wired together into a sort of mesh network. Instead of growing it
wraps around on the sides.
It takes up to four arguments right now, with three types of cells,
basic
, implementing the basic Conway's Game of Life,
growth
, which is a cell that matures over time, and
random
which mixes both types together (seen in the
screenshot). The arguments work as follows,
java -jar GoL.jar [<cell type> [<width> <height> [<cell pixel width>]]]
I may look into extending this to do some things beyond simple
cellular automata.