Sorry about the late reply, but I've been away on holiday.
You wrote "Im not sure is the gameworld should grow inifitly. In the
ruleset on
wikipedia there is a fixed board size. The smallest one is 3*3 but I could
implement is as one possible size to select from."

It's not your decision.  Conway's Life simply *is* defined for an infinite
world.
Without that, it wouldn't be Turing-universal, as it is.  The first
sentence in
the Rules section begins "The universe of the Game of Life is an infinite
two-dimensional orthogonal <https://en.wikipedia.org/wiki/Orthogonal> grid".
The ruleset on the Wikipedia page does NOT have a fixed size.  The examples
are shown just big enough
to contain all the live cells, but that is another matter.

There are four things you can do when emulating a game on a grid:
(1) STOP when you hit the edge, deliberately or by crashing.
(2) ERR by pretending everything outside is dead. The program does
not stop, it just stops giving right answers.
(3) REDEFINE the world to be a toroidal space instead of an infinite one.
Again, this changes the rules enough to count as a different game.
(4) GROW the world.  Allocate a new bigger world and copy the old one
across.
But the best way to deal with limitations is to avoid building them into the
program in the first place.

It's a bit like concurrency.  It took a while before I realised that "how
do I
add concurrency to my programs" was the wrong question and that I
should have been asking "how do I learn to stop adding sequentiality to
my programs?"

Reply via email to