Read all about Conway's Game of Life.
- Transforms all cells in matrix according to Game of Life rules
- Any live cell with fewer than two live neighbors dies, as if caused by underpopulation.
- Any live cell with two or three live neighbors lives on to the next generation.
- Any live cell with more than three live neighbors dies, as if by overpopulation.
- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
- Supports multiple transformations for given matrix.
- Ensures transformation doesn't incorrectly consider neighbor cells' future conditions when evaluating its own transformation.
- Includes several seeds, including block, beehive, beacon, and glider.
- Develop ability to add new cells and corresponding neighbor relationships where appropriate.
- Current:
transform
only cascades through a given matrix of cells. - Current:
transform
cell cannot turn an unoccupied neighbor position to live cell (this ability is necessary for matrix to reflect full growth).
- Current:
- Consider alternatives for traversing the matrix 4 times for every transformation (set_next_condition_all, untouch_all, update_condition_all, untouch_all).
- Add runner file with basic command line interface (NICE TO HAVE).
- Create module featuring of common seed patterns (block, beehive, tub, blinker, glider). These could be used both for testing and as available seeds for CLI user (NICE TO HAVE).