Fix 1993/dgibson/README.md

This includes removing a statement that this could not compile under
macOS. I'm not sure what happened but I suspect it was the wrong data
file perhaps one of the files left by the script. Either way it does
work with macOS.

Fixed formatting as well.
This commit is contained in:
Cody Boone Ferguson committed 2023-03-30 10:42:22 -07:00
1 parent 1a0109df88
commit 639c3db2bf
1 file changed
+34 -33
+34 -33
View File
@@ -14,18 +14,25 @@
### To run ### To run
sh ./dgibson.sh [datafile] ./dgibson.sh [datafile]
where: where:
datafile initial pattern (default: dgibson.data1)
## Judges' comments datafile initial pattern (default: dgibson.data1)
## Try:
./dgibson.sh dgibson.data3
## Judges' comments:
We have provided the shell script 'dgibson.sh' to make it easier We have provided the shell script `dgibson.sh` to make it easier
to run this entry. Run this shell script several times to to run this entry. Run this shell script several times to
see what happens. see what happens.
There are a number of data files available: There are a number of data files available:
dgibson.data1 dgibson.data1
dgibson.data2 dgibson.data2
@@ -33,39 +40,33 @@
dgibson.data4 dgibson.data4
dgibson.data5 dgibson.data5
For dgibson.data5 you will need a large screen, lots of virtual For `dgibson.data5` you will need a large screen, lots of virtual
memory and lots of time! memory and lots of time!
Good luck trying to use a debugger on this entry! Life is not Good luck trying to use a debugger on this entry! Life is not
always pretty. always pretty.
NOTE: we could not compile this entry under modern macOS but it will work
fine under linux. It likely fails to compile under macOS because its gcc is
actually just clang which is more strict about the type of the second argument
of main(). If you have gcc under macOS it might work just as well. We did not
test other systems.
## Author's comments ## Author's comments
This program plays the Game of Life. This program plays the Game of Life.
Life is a cellular automaton invented by J. H. Conway, in which each of Life is a cellular automaton invented by J. H. Conway, in which each of
a rectangular grid of cells can be alive or dead, and cells with more a rectangular grid of cells can be alive or dead, and cells with more
than 3 or less than 2 (out of 8) live neighbours die, and empty cells than 3 or less than 2 (out of 8) live neighbours die, and empty cells
with exactly 3 neighbours give birth. with exactly 3 neighbours give birth.
Some notes: the "STAT n" information does not have to be present in the Some notes: the "STAT n" information does not have to be present in the
initial configuration; the initial configuration should not have live initial configuration; the initial configuration should not have live
cells around the edges; the grid should be a perfect rectangle. cells around the edges; the grid should be a perfect rectangle.
Further features: the current generation number is preserved, and the Further features: the current generation number is preserved, and the
grid automatically resizes itself as the object gets too big or too grid automatically resizes itself as the object gets too big or too
small. small.
When writing this program, my goal was to make each cell in the life When writing this program, my goal was to make each cell in the life
grid expand to the code which calculates the fate of that cell. In grid expand to the code which calculates the fate of that cell. In
addition, the resulting program is a single expression, which makes it addition, the resulting program is a single expression, which makes it
necessary to recurse on main in two "directions" simultaneously. necessary to recurse on main in two "directions" simultaneously.
## Copyright and CC BY-SA 4.0 License: ## Copyright and CC BY-SA 4.0 License: