Skip to content

Latest commit

 

History

History
93 lines (58 loc) · 2.66 KB

README.md

File metadata and controls

93 lines (58 loc) · 2.66 KB

Conway's Game of Life 🌱

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.

About the Project 📚

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

Features ✨

  • Interactive grid where you can draw your initial configuration
  • Start, stop, and reset functionality
  • Adjustable speed of evolution
  • Responsive design for various screen sizes

Technologies Used 🛠️

  • 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

Getting Started 🚀

To get a local copy up and running, follow these steps:

Prerequisites

  • Node.js: Ensure you have Node.js installed. You can download it here.

Installation

  1. Clone the repository:

    git clone https://github.com/manav-gopal/game-of-life.git
  2. Navigate to the project directory:

    cd game-of-life
  3. Install dependencies:

    yarn install

Running the Project

To start the project locally:

yarn start

Open your browser and navigate to http://localhost:3000 to see the application running.

Usage 🖥️

  • 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.

Contributing 🤝

Contributions are welcome! If you have any ideas or improvements, feel free to open an issue or submit a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements 🙏

  • 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! ⭐