Welcome to the Game of Life, an Angular implementation of the classic cellular automaton devised by mathematician John Conway.
The Game of Life is a captivating zero-player game where evolution is determined by the initial state, requiring no further input. It features a grid of cells, each capable of being alive or dead. The state of each cell evolves based on simple rules, leading to the creation of intricate patterns over time.
At each step in time (or generation), the following transitions occur:
- Any live cell with fewer than two live neighbors dies, as if 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.
In this implementation, you can click on a cell to bring it to life. Initially, all cells are dead (generation 0), and it's up to the user to start life by clicking on cells. Use the "PAUSE" button to stop the simulation, "START" to resume, and "RESET" to reset the grid.
Try it out on the deployed website on Netlify: Game of Life
Follow these instructions to set up and run the project on your machine.
Make sure you have the following tools installed:
-
Clone the repository:
git clone https://github.com/MouhamedNdour/challenge-game-of-life.git
-
Navigate to the project directory:
cd GameOfLife
-
Install the dependencies:
npm install
Run the following command to start a development server:
ng serve --open