245d9a22c2
Remove Cell Data Structure
...
Cells are only boolean values of true or false for now.
2018-10-16 18:21:21 +02:00
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
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
c50e92fb19
Add simple stateChanges map into Simulation
2018-10-02 14:55:39 +02:00
a324d52df5
Fix Simulation Neighbor Propagation
2018-08-30 12:03:23 +02:00
b95d39d2b4
Fix not carrying width and height in Simulation
2018-08-30 10:58:55 +02:00
227357a745
Implement new Grid into Simulation
2018-08-30 10:57:14 +02:00
2dc1d7fecd
Add Grid.fill constructor
...
Will completely fill the grid with the value passed in.
2018-08-30 10:32:34 +02:00
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
5725757aa0
Add Coordinate getter documentation
2018-08-30 09:55:25 +02:00
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
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
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
b0e67d9f85
Add getter and setter methods for wrapper
...
!!Need testing
2018-08-29 22:13:13 +02:00
27ef72014e
Add simple Grid - List Wrapper Data Structure
2018-08-29 22:12:19 +02:00
0c487f3427
Rename Grid to Simulation
...
in order to craft an actual grid data structure
2018-08-29 20:13:24 +02:00
04d61bfa02
Error out on bad gridsize input
2018-08-27 20:18:19 +02:00
873bd9c881
Allow Optional Injection of grid size into engine on creation
2018-08-27 20:13:19 +02:00
dd18fc3bc7
Make Engine Gridsize configurable
2018-08-25 17:23:06 +02:00
774e9e3782
Add Simple Documentation
2018-08-25 16:41:11 +02:00
905af769f6
Add Configurable stepsPerSecond for engine logic
2018-08-25 15:51:17 +02:00
66bf87d9d8
Allow setting a canvas for an engine at any point
2018-08-25 14:36:50 +02:00
4c6dff35c3
Add Canvas nullcheck to render function
2018-08-25 14:10:56 +02:00
976ec8097d
Separate Engine Service Functionality from Component
2018-08-25 09:36:27 +02:00
842cbeca1f
make canvas argument optional on instantiating engine
2018-08-25 09:36:27 +02:00
6ba0ca55cb
dartfmt
2018-08-23 12:38:34 +02:00
4b7051a5e1
Fix implicit Overwrite of Dart Pattern Class
2018-07-09 17:45:11 +02:00
49803e7a6a
Fix Remnants of EdgeRendering toggle compile Error
2018-07-09 17:33:48 +02:00
2d0e24bdf8
Move Reset Grid Implementation to Engine
2018-07-09 17:32:59 +02:00
4c1c805f24
Add addPattern Functionality to Engine
2018-07-09 17:32:35 +02:00
6745f9c9d6
Make grid Private to Engine
2018-07-09 17:31:46 +02:00
ac9a7c7591
Implement Engine Step Method
2018-07-09 17:27:56 +02:00
9030d31e97
Hide Implementation of edge rendering in grid
2018-07-09 17:27:11 +02:00
7c49531d0e
Expose Getter and Setter for Engine Running Variable
2018-07-09 17:00:53 +02:00
e18de1d84c
Rename App to Engine
2018-07-09 15:16:28 +02:00
016b166d50
Add Clear Board Function to Engine
2018-07-08 19:45:04 +02:00
1146c7d265
Add Check for State Changes During Grid Update
2018-07-08 19:32:43 +02:00
9fb67d0194
Add return of new cell state to advanceState Function
2018-07-08 19:08:40 +02:00
3676264444
dartfmt
2018-07-08 19:05:11 +02:00
4074f49228
Fix Missing return statement
2018-07-08 19:03:48 +02:00
8fc3f35321
Add Edge Rendering with Toggle Button
2018-07-08 19:01:14 +02:00
c5ed18f0ad
Add Random Button Functionality
...
Adds random pattern toward the center of the canvas. Does not delete anything.
2018-07-07 22:02:04 +02:00
c5b62e6c9f
Fix Reset & Step not working on first click
...
Rendering dirty flags were not updated accordingly, so the updates happened but were not pushed to be rendered. Added and moved additional dirty flag setters.
2018-07-07 21:43:24 +02:00
2d2365e606
Fix Simulation Reset not Replicating the Starting Pattern
...
Now keeps the original parameters for the first pattern of a grid stored and can replicate them reliably.
2018-07-07 21:42:07 +02:00
34bdd1ae81
Apply dartfmt
2018-07-07 20:49:02 +02:00
4b35dbe5fc
Add Parameters for Dispersal and Amount of Cells
2018-07-07 20:47:23 +02:00
9816778d4b
Allow Defining x and y for Patterns
2018-07-07 20:35:04 +02:00
964ba69c2e
Add Grid Starting Patterns
...
can be common forms and random
2018-07-07 20:04:35 +02:00
70e33fe135
Fix Rendering when no Changes occured
...
Rendering checks a dirty flag which gets set whenever a cell updates by changing their state.
2018-07-07 19:08:26 +02:00
5a10c0e1f7
Prepare Engine for Button responses
2018-07-07 19:07:30 +02:00