Game of Life is a cellular automaton created by British mathematician John Conway in 1970. This project implements the Game of Life using an Arduino microcontroller and an LED display. The game simulates the evolution of a grid of cells based on simple rules, creating fascinating patterns and behaviors.
This is a school project created for educational purposes. The implementation is designed as a learning exercise to understand cellular automata and microcontroller programming. Please don't take this project too seriously - it's meant to be fun and educational app)
- Cellular Automaton: Simulates the Game of Life on a grid.
- Random Initialization: The initial state of the grid is randomly generated.
- Display Output: Visualizes the game state on an LED display.
- Dynamic Evolution: The grid evolves over generations based on predefined rules.
The game operates on a rectangular grid where each cell can be either "alive" (1) or "dead" (0). The grid is surrounded by empty cells that do not change during the game. Each cell has eight neighbors, and the state of the grid evolves based on the following rules:
- A live cell with fewer than two live neighbors dies (underpopulation).
- A live cell with two or three live neighbors lives on to the next generation.
- A live cell with more than three live neighbors dies (overpopulation).
- A dead cell with exactly three live neighbors becomes alive (reproduction).
The game ends when all cells die or when the grid reaches a stable configuration.
GameOfLife/
├── .git/ # Git version control files
├── README.md # Project documentation
├── gameNamedLife.cpp # C++ implementation for PC
└── gameNamedLife.ino # Arduino implementation
To set up the project locally:
-
Clone the repository:
git clone https://github.com/fa11astro/GameNamedLife.git cd GameNamedLife -
Open the
gameNamedLife.inofile in the Arduino IDE. -
Connect your Arduino board and upload the sketch.
-
Run the program to see the Game of Life in action on your LED display!
Once the program is running, the LED display will show the initial state of the grid. The grid will evolve over time, displaying the changes in cell states according to the rules of the Game of Life. You can observe how patterns emerge and change dynamically.
Contributions are welcome! If you would like to contribute to the Game of Life project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Create a pull request.
Thank you for checking out the Game of Life project! If you have any questions or feedback, feel free to reach out! 😊