chuck-sys / cellular_automata Goto Github PK
View Code? Open in Web Editor NEWCellular automata visulaizations (such as Game of Life) in C++ with FLTK
License: GNU General Public License v3.0
Cellular automata visulaizations (such as Game of Life) in C++ with FLTK
License: GNU General Public License v3.0
Program logic is currently glued with the GUI. Separation is needed.
Create a board class that overrides the Fl_Widget
class, and use it to replace the Tiles, since they take up a lot of graphical memory, if the window is large enough.
Program needs a configuration file (and parser). Maybe json or something?
This is a comment thread for a better rule creation system and implementation.
Things that it needs to take care of:
The original implementation involved a single std::vector<int>
which held positive numbers separated by a -1
. Format is of the following: S/B
, where S indicates the number of cells neighbouring such that the cell survives the iteration; B indicates the number of cells neighbouring a cell such that birth occurs. For example, Game of Life would be represented by the rule "2, 3, -1, 3"
Make menubar creation dynamic (i.e. using some configuration)
Use RLE format for serialization.
The configuration system is messy, and needs to be redesigned and/or better implemented. There are too many global variables. We need one variable that stores everything else in a dictionary or something similar.
Also consider splitting functions into separate files because the main file is over 1k lines long, and takes ages to scroll through. Reference to #6.
Refactor to use std::bitset
instead of vectors. Makes it (possibly) more efficient.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.