Created a javascript implementation of Conway's Game of Life.
Rules Regarding Advancement to Next Generation: Awesome Video Explaining Rules
- Less than 2 live neighbors => "OFF"
- Exactly 2 live neighbors => keep its same status
- Exactly 3 live neighbors => "ON"
- Greater than 3 live neighbors=> "OFF"
Artfully craft code that is modular, object oriented, and readable.
- Create a MVC-like structure
- Model = Cell.js
- View = ConwayView.js
- Controller = ConwayApp.js
- Strive to write functions that have a single responsibility
- It was also important to me to create a visual representation that allowed the user to get visual feedback that the application was working
- Use agile development principles to reach MVP while writing high quality code
- Allow users to provide input for the game and be able to click on grid squares to turn them "ON" or "OFF"
- Write unit tests and integration tests to ensure stability
- Make app responsive to different browsers
- Improve the overall user experience
- Allow for any number to be accepted for width/height without taking away from the aesthetics
- Decrease the time it takes to load in assets
- Minify code
- Consider adding a backend to do server-side logic: to free up client-side processing power
- Keep refactoring code for increased efficiency and readability
- Javascript to allow users to interact and customize the game in the browser
- jQuery to quickly and efficiently manipulate the DOM
- Underscore.js for Enumerable methods
- Open the Terminal Application (Mac OSX)
- Copy and Paste Each Line of Code:
- cd Desktop
- git clone https://github.com/cpkenn09y/ConwaysGameOfLifeJS.git
- python -m SimpleHTTPServer 8000
- Enter the following URL into Google Chrome
- Click on the grid squares to turn cells "ON" and "OFF"
- The game will continue forever if you do not specify the number of generations
- Once it reaches a steady state, bring the game back to life by clicking on squares!
- Create a pattern before pressing the 'Start!' button
- Add pokemon start up music on welcome page
- Add pokemon battle music after form submitted
- Animate some fireworks after pushing 'Start!' button