Commit graph

53 commits

Author SHA1 Message Date
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