Unknown
2ea974bbd5
Fix Snapshot Load and Save Functions
...
Were just pointers to the map before. Fix to be actual clones of the map.
2018-10-19 20:49:59 +02:00
Unknown
0da2d08b74
Add Simulation Saving and Loading Methods
2018-10-19 19:59:00 +02:00
Unknown
2169de16fd
Add Tests to Simulation
2018-10-19 19:35:09 +02:00
Unknown
e8c1e6ed8b
Refactor Engine Methods
...
Extract method checking for update necessity.
2018-10-19 11:50:34 +02:00
Unknown
2993b33d9e
Add tests for CellPattern & GameOfLife classes
2018-10-19 10:24:40 +02:00
Unknown
8db9cd6ff1
Move Simulation Accesses to Simulation Class
...
Everything has been refactored away from engine, which now only controls updating & rendering within a specific timestep. (As well as stepping forward by calling a single update)
Everything regarding grids, patterns and cells has been moved into the simulation and the Services have been updated to reflect that.
2018-10-18 15:21:50 +02:00
Unknown
4f92c69a82
Rename Simulation function adding random patterns
...
Rename from addPattern to addRandomPattern to more clearly signify its purpose.
2018-10-18 11:32:00 +02:00
Unknown
f1399064a2
Fix Simulation using RuleSet range for neighbor checks
2018-10-18 11:30:14 +02:00
Unknown
e13962f371
Shorten RuleSet variable for their checked range
...
Range is self-explanatory and not as confusing as checkRange.
2018-10-18 11:29:55 +02:00
Unknown
0aa3df30b4
Extract CellPattern and GameOfLife into own files
2018-10-18 11:27:44 +02:00
Unknown
fbdf114fed
Move RuleSet to its own directory
2018-10-18 11:21:18 +02:00
Unknown
4f63947ab9
Delete unused Cell and Rule Classes
...
They were used under the old system of every
gridspace being its own cell data structure with its own rules to observe.
Replaced by the RuleSet class. Cell has vanished in favor
of simple boolean values filling the grid.
2018-10-18 11:20:41 +02:00
Unknown
c3244b085e
Fix single steps not updating simulation
2018-10-18 11:04:23 +02:00
Unknown
de1aa46743
Separate Simulation calculating updates and merging
...
Simulation updates were one step of calculation and merging the calculations into the map in one function.
Separating the two allows checking for a new update without affecting the grid, allows passing the last Update around and allows custom changes to the grid by passing changes to the merge function that were not derived from the update function.
2018-10-18 10:58:06 +02:00
Unknown
e16085153a
Rename Simulation in Engine Object
2018-10-18 09:59:26 +02:00
Unknown
bac65ef116
Remove unnecessary pattern parameters
2018-10-18 09:57:08 +02:00
Unknown
6d7120650f
Add Special Patterns to RuleSet
2018-10-17 21:08:55 +02:00
Unknown
e6e82f78f2
Remove unnecessary Switch Case in Simulation
2018-10-17 21:07:48 +02:00
Unknown
9b2b5f3e55
Remove unnecessary Simulation variables
2018-10-17 21:00:14 +02:00
Unknown
27d4879b1b
Extract RuleSet Class from Simulation
2018-10-17 20:58:04 +02:00
Unknown
245d9a22c2
Remove Cell Data Structure
...
Cells are only boolean values of true or false for now.
2018-10-16 18:21:21 +02:00
Unknown
71f4df85af
Refactor Simulation to be List of dumb cells
...
Cells are now only an empty struct, they carry no information beyond needing to be re-rendered. All Simulation logic is handled in the Simulation Class.
2018-10-15 17:28:09 +02:00
Unknown
08155b70a5
Fix Pausing after every Update
...
Updates would pause when any change has happened, not when no change has happened.
2018-10-15 17:16:09 +02:00
Unknown
c50e92fb19
Add simple stateChanges map into Simulation
2018-10-02 14:55:39 +02:00
Marty Oehme
a324d52df5
Fix Simulation Neighbor Propagation
2018-08-30 12:03:23 +02:00
Marty Oehme
b95d39d2b4
Fix not carrying width and height in Simulation
2018-08-30 10:58:55 +02:00
Marty Oehme
227357a745
Implement new Grid into Simulation
2018-08-30 10:57:14 +02:00
Marty Oehme
2dc1d7fecd
Add Grid.fill constructor
...
Will completely fill the grid with the value passed in.
2018-08-30 10:32:34 +02:00
Marty Oehme
fb481669ed
Add Coordinates setter
...
Sets the corresponding element to the parameter value passed in. Checks against the grid size constraints beforehand and throws RangeError if outside of constraints. Preferred method to set
element via coordinates.
2018-08-30 10:02:29 +02:00
Marty Oehme
5725757aa0
Add Coordinate getter documentation
2018-08-30 09:55:25 +02:00
Marty Oehme
5a72783d57
Add .toCoordinates() method to grid
...
Calculates the 2-D array coordinates from the corresponding list index passed in. Relies on grid width to calculate coordinates. Does not check against grid size constraints.
2018-08-30 09:53:05 +02:00
Marty Oehme
6c3fcbe7b0
Add .get method for coordinate element retrieval to grid
...
Coordinates passed in access the correct index in the internal list.
2018-08-30 09:43:46 +02:00
Marty Oehme
3f939601b3
Add toIndex method
...
can be used to get the correct index from coordinates passed in. Will only calculate the index, not take into consideration any grid size constraints etc.
2018-08-30 09:41:43 +02:00
Marty Oehme
b0e67d9f85
Add getter and setter methods for wrapper
...
!!Need testing
2018-08-29 22:13:13 +02:00
Marty Oehme
27ef72014e
Add simple Grid - List Wrapper Data Structure
2018-08-29 22:12:19 +02:00
Marty Oehme
0c487f3427
Rename Grid to Simulation
...
in order to craft an actual grid data structure
2018-08-29 20:13:24 +02:00
Marty Oehme
04d61bfa02
Error out on bad gridsize input
2018-08-27 20:18:19 +02:00
Marty Oehme
873bd9c881
Allow Optional Injection of grid size into engine on creation
2018-08-27 20:13:19 +02:00
Marty Oehme
dd18fc3bc7
Make Engine Gridsize configurable
2018-08-25 17:23:06 +02:00
Marty Oehme
774e9e3782
Add Simple Documentation
2018-08-25 16:41:11 +02:00
Marty Oehme
905af769f6
Add Configurable stepsPerSecond for engine logic
2018-08-25 15:51:17 +02:00
Marty Oehme
66bf87d9d8
Allow setting a canvas for an engine at any point
2018-08-25 14:36:50 +02:00
Marty Oehme
4c6dff35c3
Add Canvas nullcheck to render function
2018-08-25 14:10:56 +02:00
Marty Oehme
976ec8097d
Separate Engine Service Functionality from Component
2018-08-25 09:36:27 +02:00
Marty Oehme
842cbeca1f
make canvas argument optional on instantiating engine
2018-08-25 09:36:27 +02:00
Marty Oehme
6ba0ca55cb
dartfmt
2018-08-23 12:38:34 +02:00
Marty Oehme
4b7051a5e1
Fix implicit Overwrite of Dart Pattern Class
2018-07-09 17:45:11 +02:00
Marty Oehme
49803e7a6a
Fix Remnants of EdgeRendering toggle compile Error
2018-07-09 17:33:48 +02:00
Marty Oehme
2d0e24bdf8
Move Reset Grid Implementation to Engine
2018-07-09 17:32:59 +02:00
Marty Oehme
4c1c805f24
Add addPattern Functionality to Engine
2018-07-09 17:32:35 +02:00