/CellularAutomata

A React application inspired by the Cellular Automata Coding Challenge by Daniel Shiffman and The Coding Train.

Primary LanguageJavaScript

Cellular Automata

Description:

A React application inspired by the Cellular Automata Coding Challenge by Daniel Shiffman and The Coding Train. The app will enable users to view a grid and select an initial state as well as preselected or custom rules for running a Cellular Automata game.

Technologies Used

  • React JS
  • Vite
  • Node Package Manager

Requirements

  • Node Package Manager

User Stories

  • As a user I should be able to...
    • View the page and see a grid
      • The grid should fill the majority of the width and height of the screen
    • Be prompted to select an initial state for the grid.
      • A preset state
        • These are known states that lead to interesting behavior
        • I select one of these I want to get an explanation/history
      • A randomized state
      • An option to set a custom initial state by selecting cells on the grid.
    • Be prompted to select a ruleset for the game.
      • Preset Rules (Conway's etc)
      • An option to set my own rules
        • If I select this I should see a form allowing me to select conditions under which a cell should live or die
    • Click a "Start/Stop" button to begin running the game.
    • Click "Next Generation" and "Previous Generation" buttons to play the game one generation at a time.

Setup/Install

  • Clone the Github Repo: git clone https://github.com/RyanDuff613/CellularAutomata.git
  • Using terminal client, navigate to project directory: cd CellularAutomata
  • Install project dependencies: npm install
  • Run server: npm run dev
  • View application in browser by visiting URL indicated by server running in the terminal . Most likely this will be at http://127.0.0.1:5173/

Known Bugs

  • Work-in-Progress - too many to count. Please visit Github Repository and create an Issue for any bugs you may discover.

License

MIT Copywrite - Ryan Duff, 2024