diff --git a/1993/dgibson/README.md b/1993/dgibson/README.md index 6807efc09..53698ae3f 100644 --- a/1993/dgibson/README.md +++ b/1993/dgibson/README.md @@ -1,63 +1,70 @@ # Best Abuse of the C Preprocessor: - David Gibson - University of Cape Town - - 1 Sweet Valley Road - Bergvliet - 7945 - South Africa +David Gibson +University of Cape Town +1 Sweet Valley Road +Bergvliet +7945 +South Africa ## To build: - make all +```sh +make all +``` -## To run +## To run: - ./dgibson.sh [datafile] +```sh +./dgibson.sh [datafile] +``` where: - - - datafile initial pattern (default: dgibson.data1) + +`datafile` is the initial pattern (default: dgibson.data1) ## Try: - - ./dgibson.sh dgibson.data3 +```sh +./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](dgibson.sh) to make it easier to run this entry. Run this shell script several times to see what happens. There are a number of data files available: - dgibson.data1 - dgibson.data2 - dgibson.data3 - dgibson.data4 - dgibson.data5 +- [dgibson.data1](dgibson.data1) +- [dgibson.data2](dgibson.data2) +- [dgibson.data3](dgibson.data3) +- [dgibson.data4](dgibson.data4) +- [dgibson.data5](dgibson.data5) -For `dgibson.data5` you will need a large screen, lots of virtual +For [dgibson.data5](dgibson.data5) you will need a large screen, lots of virtual memory and lots of time! Good luck trying to use a debugger on this entry! Life is not always pretty. -## Author's comments +## Author's comments: -This program plays the Game of Life. +This program plays the [Game of +Life](https://en.wikipedia.org/wiki/Conway's_Game_of_Life). 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 than 3 or less than 2 (out of 8) live neighbours die, and empty cells with exactly 3 neighbours give birth. -Some notes: the "STAT n" information does not have to be present in the -initial configuration; the initial configuration should not have live -cells around the edges; the grid should be a perfect rectangle. +### Some notes: + +- the "STAT n" information does not have to be present in the initial +configuration +- the initial configuration should not have live cells around the edges +- the grid should be a perfect rectangle. Further features: the current generation number is preserved, and the grid automatically resizes itself as the object gets too big or too