Welcome to the implementation of Conway's Game of Life! This repository contains a web-based version of the famous cellular automaton devised by mathematician John Conway.
Conway's Game of Life is a zero-player game that evolves based on its initial state, requiring no further input. Players create an initial configuration and observe how it evolves according to a set of simple rules.
Live Demo: game-of-life-puce-seven.vercel.app
- Interactive grid where you can draw your initial configuration
- Start, stop, and reset functionality
- Adjustable speed of evolution
- Responsive design for various screen sizes
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript
- ReactJS: A JavaScript library for building user interfaces
- HTML: Standard markup language for creating web pages
- SCSS: CSS pre-processor to enhance the styling capabilities
To get a local copy up and running, follow these steps:
- Node.js: Ensure you have Node.js installed. You can download it here.
-
Clone the repository:
git clone https://github.com/manav-gopal/game-of-life.git
-
Navigate to the project directory:
cd game-of-life
-
Install dependencies:
yarn install
To start the project locally:
yarn start
Open your browser and navigate to http://localhost:3000
to see the application running.
- Draw: Click on the grid to create an initial pattern.
- Start/Stop: Use the start button to begin the simulation and stop to pause it.
- Reset: Clears the grid to start anew.
- Adjust Speed: Use the slider to control the speed of the simulation.
Contributions are welcome! If you have any ideas or improvements, feel free to open an issue or submit a pull request.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/AmazingFeature)
- Commit your Changes (git commit -m 'Add some AmazingFeature')
- Push to the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the work of John Conway
- Thanks to the developers of the technologies used in this project
Feel free to reach out if you have any questions or suggestions!
Star the repository if you found this project useful! ⭐