Yes, the classic "Game of Life in APL" is cool because of its terseness. However, as a GoL implementation it has several limitations - it only handles a fixed size board, and it doesn't implement HashLife, which is what the more advanced GoL implementations use.
Then again, this implementation has the same limitations. However, unlike the APL code, this one works in a terminal.
To the author, I see the code has a hard-coded width/height. You can get the terminal size from ncurses. The 10x10 default is entirely too small to see interesting patterns. I made it 40x10 so I could take a better look.
I find it hard to distinguish between alive/dead. I changed it to an asterisk for alive and a space for dead. That seemed to be better.
There seems to be a bug in the code. The blinker goes between:
* *
* and * *
*
Wild thought - what about using the Braille patterns to show a higher density? They won't be evenly aligned, but it might be interesting.
2 comments
[ 1.8 ms ] story [ 15.2 ms ] threadThen again, this implementation has the same limitations. However, unlike the APL code, this one works in a terminal.
To the author, I see the code has a hard-coded width/height. You can get the terminal size from ncurses. The 10x10 default is entirely too small to see interesting patterns. I made it 40x10 so I could take a better look.
I find it hard to distinguish between alive/dead. I changed it to an asterisk for alive and a space for dead. That seemed to be better.
There seems to be a bug in the code. The blinker goes between:
Wild thought - what about using the Braille patterns to show a higher density? They won't be evenly aligned, but it might be interesting.