diff options
author | Justin Worthe <justin@worthe-it.co.za> | 2018-05-14 23:31:07 +0200 |
---|---|---|
committer | Justin Worthe <justin@worthe-it.co.za> | 2018-05-14 23:31:07 +0200 |
commit | eacb65f120ca0fcbd920f14160404cb6c709b4ef (patch) | |
tree | 1c30a23422f71022a01f91139731963d298366d3 /src/json.rs | |
parent | d9bf3dbdaeab077e7b27565d1c59a4e8faff9313 (diff) |
Added running total of unoccupied cells
Diffstat (limited to 'src/json.rs')
-rw-r--r-- | src/json.rs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/json.rs b/src/json.rs index 10c3ab8..4253a19 100644 --- a/src/json.rs +++ b/src/json.rs @@ -12,7 +12,10 @@ pub fn read_state_from_file(filename: &str) -> Result<(engine::settings::GameSet let mut content = String::new(); file.read_to_string(&mut content)?; let state: State = serde_json::from_str(content.as_ref())?; - Ok((state.to_engine_settings(), state.to_engine())) + + let engine_settings = state.to_engine_settings(); + let engine_state = state.to_engine(&engine_settings); + Ok((engine_settings, engine_state)) } #[derive(Deserialize)] @@ -116,16 +119,16 @@ impl State { } } - fn to_engine(&self) -> engine::GameState { - engine::GameState { - status: engine::GameStatus::Continue, - player: self.player().to_engine(), - opponent: self.opponent().to_engine(), - player_buildings: self.buildings_to_engine('A'), - opponent_buildings: self.buildings_to_engine('B'), - player_missiles: self.missiles_to_engine('A'), - opponent_missiles: self.missiles_to_engine('B'), - } + fn to_engine(&self, settings: &engine::settings::GameSettings) -> engine::GameState { + engine::GameState::new( + self.player().to_engine(), + self.opponent().to_engine(), + self.buildings_to_engine('A'), + self.buildings_to_engine('B'), + self.missiles_to_engine('A'), + self.missiles_to_engine('B'), + settings + ) } fn player(&self) -> &Player { |