Your
final assignment will be to write a program that implements the Conway’s game
of Life. You may work with a partner if you wish. If you work in a partner each
person is to be assigned a percentage grade (indicating the contribution to
total project by each partner).
In case you have never heard of it, the
basics of Life are as follows: the game is played on a grid where each square
on the grid is called a cell. A cell has eight neighboring cells all around it.
In determining the contents of the next generation, each cell is examined to
determine its neighbors and the number of neighbors determines whether the cell
will be alive or dead in the next generation. All cells of the grid are
processed this way for each generation. The rules of Life are as follows:
1. If a cell has
exactly two living neighbors, then it will remain the same, dead or alive.
2. If a cell has
exactly three living neighbors, then it will become alive regardless of its
previous state.
3. In all other combinations of living neighbors, the cell dies
and becomes empty.
You
do not need to worry about elaborate user interfaces. A text interface is fine.
Your grid does not need to be bigger than 10 by 10. You will need to devise 3
test colonies and show each colony’s evolution through 5 generations of life.
You
will need to turn in a commented listing of your program, hardcopy of test
runs, and a two-page memo summarizing your program implementation. Your work is
due at our last class period on Wednesday, June 30th (5:30-8:30pm). No late
work will be accepted after June 30th.
Assigned:
6/21/04
Date due: 6/30/04