Commit graph

35 commits

Author SHA1 Message Date
c8e2417ab8 Remove duplicate functions to set Grid Cells 2018-10-23 20:21:21 +02:00
e115ed2f48 Make clear map function name more concise
Renam resetting the grid to clearMap.
2018-10-21 14:00:22 +02:00
1f435617da Re-Enable Simulation dirty-flag test
In preparation for refactoring, and exposing the dirty flag we re-enable the dirty flag test on resetMap
2018-10-21 11:38:57 +02:00
ae26496730 Fix grid resize test to check for object identity 2018-10-21 11:07:46 +02:00
22dabda987 Add Save and Load Functions to SimService 2018-10-19 20:50:24 +02:00
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
0da2d08b74 Add Simulation Saving and Loading Methods 2018-10-19 19:59:00 +02:00
2169de16fd Add Tests to Simulation 2018-10-19 19:35:09 +02:00
e8c1e6ed8b Refactor Engine Methods
Extract method checking for update necessity.
2018-10-19 11:50:34 +02:00
2993b33d9e Add tests for CellPattern & GameOfLife classes 2018-10-19 10:24:40 +02:00
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
58971016da Remove ConfigurationService
Replaced with direct access to both EngineService and SimulationService.
2018-10-18 14:23:07 +02:00
7729da3a40 Split ConfigurationService to use SimulationService
Methods concerning engine make use of EngineService, those concerning grid and patterns make use of SimulationService.
2018-10-18 12:16:47 +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
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
8865af4878 Add tags to Instantiation tests 2018-08-30 09:36:57 +02:00
27ef72014e Add simple Grid - List Wrapper Data Structure 2018-08-29 22:12:19 +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
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
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
842cbeca1f make canvas argument optional on instantiating engine 2018-08-25 09:36:27 +02:00
1bd324a406 Disable superfluous tests
In preparation for first test of the app.
2018-08-25 09:36:27 +02:00
f3dfc3b368 Set up Basic AngularDart Structure 2018-07-07 15:46:40 +02:00
0277e5ddc7 Initial Commit 2018-07-05 17:59:11 +02:00