Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eeue56/elm-game-of-games
Game of life in Elm
https://github.com/eeue56/elm-game-of-games
Last synced: about 2 months ago
JSON representation
Game of life in Elm
- Host: GitHub
- URL: https://github.com/eeue56/elm-game-of-games
- Owner: eeue56
- License: bsd-3-clause
- Created: 2015-08-20T20:08:13.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-09-10T22:16:30.000Z (over 9 years ago)
- Last Synced: 2024-05-21T12:33:37.223Z (8 months ago)
- Language: Elm
- Homepage:
- Size: 301 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# elm-game-of-games
Game of life in Elm, written to test three things:
- Elm's data structures for storing large amount of values (arrays vs lists)
- Elm's canvas drawing speed at both naive levels of drawing (drawing everything) and non-naive (filtering)
- Interaction with images at a pixel levelSo far, only the first two have been done. The final step will be done through drawing an image to a hidden canvas, getting the content data array and passing it back to Elm to work with. Native and ports will both be compared for simplicity of usage.
Features at the moment:
* Press n to go through the next iteration of the board
* Press p to pause and play the iteration at an interval of 500ms
* Press s to save the current board as the init board
* Press r to reset the board to init
* Click to select places
* Shift-click to unselect places
* When the mouse is down, then pause the game until the mouse is upPlanned features:
* Press shift s to save the current board as a "stamp"
* Choose from a list of stamps and click to place
* Import images to use as heatmaps
* Display the current number of ticks
* Mutli-coloured based automata
* Enable jumping back to the start of the current "run" (different from resets)See a demo at http://eeue56.github.io/projects/elm/game-of-games/index.html