Over the next few days, you will be implementing your own version of Conway's Game of Life - a popular cellular automata.
Your application, when finished, should include:
- a grid of squares (cells) that can be in at least 2 states (alive, dead)
- cells correctly update state based on the rules of Conway's Game of Life
- birth - a "dead" cell with exactly 3 live neighbors will "come to life"
- life - a "live" cell with exactly 2 or 3 live neighbors will "stay alive"
- death - a "live" cell with a single OR 4+ live neighbors will "die"
- ability to pause, resume, and restart the simulation
- display that identifies which generation (#) is currently being displayed
- ability to change the time step to change the speed at which new generations are born
- allow the user to customize the size of their grid
- add additional states
- create some premade starting states with some well-known automata formations
- From Wikipedia
Included in this repository is some starter Pygame code that will create a blank window for you. Your instructor will help you get started, adding a few essential constants and pieces. Your job will be to implement the main logic and create an appealing visualization. Be creative!