Commit graph

130 commits

Author SHA1 Message Date
27d4879b1b Extract RuleSet Class from Simulation 2018-10-17 20:58:04 +02:00
07f176be3e Merge branch '43-add-statechange-data-structure' into 'master'
Resolve "Add StateChange data structure"

Closes #43

See merge request marty.oehme/cellular-automata!13
2018-10-16 16:23:29 +00:00
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
9c37f87045 Merge branch '44-change-grid-data-structure-to-list' into 'master'
Resolve "Change Grid data structure to List"

Closes #44

See merge request marty.oehme/cellular-automata!12
2018-08-30 10:03:59 +00: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
eef7a23c8f Regroup Instantiation tests 2018-08-30 10:17:31 +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
46b11bc33b Add dart_test.yaml file to suppress tag warnings
tags are added in the file without any special options
2018-08-30 09:42:29 +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
8865af4878 Add tags to Instantiation tests 2018-08-30 09:36:57 +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
7db2e73f53 Merge branch '37-make-grid-size-configurable' into 'master'
Resolve "Make Grid Size configurable"

Closes #38, #39, and #37

See merge request marty.oehme/cellular-automata!10
2018-08-28 07:45:43 +00:00
b1221c7c84 Add Grid Size Input to Configuration Bar
Fixes #37
2018-08-27 23:04:02 +02:00
800c85d14f Fix wrong variable being accessed by controls_component 2018-08-27 23:03:13 +02:00
3a1ba1c1e9 Fix Wrong ControlService being provided to Angular 2018-08-27 23:02:48 +02:00
b6919cff6b Move Canvas setting to configuration service
Fix #39
2018-08-27 20:56:33 +02:00
a92b864dfa Extract EngineService into separate service 2018-08-27 20:50:12 +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
9886f13d69 Add grid changing function 2018-08-27 19:55:30 +02:00
5e8f83cf8a Refactor EngineService to be able to inject custom Engine
fixes #38
2018-08-27 19:37:35 +02:00
dd18fc3bc7 Make Engine Gridsize configurable 2018-08-25 17:23:06 +02:00
8a6538aa5e Merge branch '35-wire-up-speed-slider' into 'master'
Resolve "Wire up Speed Slider"

Closes #35

See merge request marty.oehme/cellular-automata!9
2018-08-25 14:45:22 +00:00
7a3fdf3681 Fix Engine Test case 2018-08-25 16:43:47 +02:00
952179eee3 Implement Test Case 2018-08-25 16:43:38 +02:00
774e9e3782 Add Simple Documentation 2018-08-25 16:41:11 +02:00
c3f0881454 Wire up Speed slider to Engine Configuration 2018-08-25 15:51:32 +02:00
905af769f6 Add Configurable stepsPerSecond for engine logic 2018-08-25 15:51:17 +02:00
588a3ad2a0 Add explicit getter and setter for Simulation Speed
In preparation for adding additional logic as a quasi-callback to execute whenever the simSpeed changes (i.e. the slider is changed)
2018-08-25 15:26:44 +02:00
7d5b1cfe30 Merge branch '31-allow-engine-to-be-created-without-the-need-for-a-canvas' into 'master'
Resolve "Allow Engine to be created without the need for a canvas"

Closes #31

See merge request marty.oehme/cellular-automata!8
2018-08-25 13:02:45 +00:00
3c27f5ef38 Re-Add Canvas to Simulation component 2018-08-25 15:01:00 +02:00
71023de49a Make canvas virtual variable on EngineService 2018-08-25 15:00:46 +02:00
cc33628e5f Enable cached engine returns for EngineService 2018-08-25 14:51:28 +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
572406b963 Fix undefined running access 2018-08-25 14:10:19 +02:00
2d5cc889f0 Merge remote-tracking branch 'origin/31-allow-engine-to-be-created-without-the-need-for-a-canvas' into 31-allow-engine-to-be-created-without-the-need-for-a-canvas 2018-08-25 09:36:49 +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