Commit Graph

31 Commits

Author SHA1 Message Date
Unknown 22dabda987 Add Save and Load Functions to SimService 2018-10-19 20:50:24 +02:00
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 58971016da Remove ConfigurationService
Replaced with direct access to both EngineService and SimulationService.
2018-10-18 14:23:07 +02:00
Unknown 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
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 eef7a23c8f Regroup Instantiation tests 2018-08-30 10:17:31 +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 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 8865af4878 Add tags to Instantiation tests 2018-08-30 09:36:57 +02:00
Marty Oehme 27ef72014e Add simple Grid - List Wrapper Data Structure 2018-08-29 22:12:19 +02:00
Marty Oehme a92b864dfa Extract EngineService into separate service 2018-08-27 20:50:12 +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 9886f13d69 Add grid changing function 2018-08-27 19:55:30 +02:00
Marty Oehme 5e8f83cf8a Refactor EngineService to be able to inject custom Engine
fixes #38
2018-08-27 19:37:35 +02:00
Marty Oehme 7a3fdf3681 Fix Engine Test case 2018-08-25 16:43:47 +02:00
Marty Oehme 952179eee3 Implement Test Case 2018-08-25 16:43:38 +02:00
Marty Oehme cc33628e5f Enable cached engine returns for EngineService 2018-08-25 14:51:28 +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 842cbeca1f make canvas argument optional on instantiating engine 2018-08-25 09:36:27 +02:00
Marty Oehme 1bd324a406 Disable superfluous tests
In preparation for first test of the app.
2018-08-25 09:36:27 +02:00
Marty Oehme f3dfc3b368 Set up Basic AngularDart Structure 2018-07-07 15:46:40 +02:00
Marty Oehme 0277e5ddc7 Initial Commit 2018-07-05 17:59:11 +02:00