This project is an implementation of Conway's Game of Life, a cellular automaton devised by mathematician John Conway. The game is a zero-player game, meaning its evolution is determined by its initial state, requiring no further input. The game is played on a grid of cells, each of which can be alive (1) or dead (0). The state of each cell evolves based on simple rules:
- Survival: A live cell with 2 or 3 live neighbors survives.
- Death: A live cell with fewer than 2 or more than 3 live neighbors dies.
- Birth: A dead cell with exactly 3 live neighbors becomes alive.
This implementation uses Python with the tkinter library for the graphical user interface (GUI) and numpy for efficient grid operations.
- Random Initialization: The grid is initialized with random alive and dead cells.
- Squared Cells: The cells are perfectly squared and fit within the screen dimensions.
- Full-Screen Mode: The simulation runs in full-screen mode for an immersive experience.
- Efficient Updates: Only the cells that change between generations are updated, improving performance.
To run this project, you need the following:
- Python 3.x
- NumPy: For efficient grid operations.
- Tkinter: For the graphical user interface (usually included with Python).
