From 709bd0b9be0eeed4ad204c121fcadef505d5336d Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Sun, 1 Jul 2018 22:28:14 +0200 Subject: Read missiles from the json into bitfields --- src/input/json.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/input/json.rs b/src/input/json.rs index 0c0ed48..b509926 100644 --- a/src/input/json.rs +++ b/src/input/json.rs @@ -198,8 +198,19 @@ impl State { } } for missile in &cell.missiles { - if missile.player_type == 'A' { + let mut bitwise_buildings = if missile.player_type == 'A' { + &mut player_buildings } else { + &mut opponent_buildings + }; + let (mut left, mut right) = point.to_bitfield(8); + + for mut tier in bitwise_buildings.missiles.iter_mut() { + let setting = (!tier.0 & left, !tier.1 & right); + tier.0 |= setting.0; + tier.1 |= setting.1; + left &= !setting.0; + right &= !setting.1; } } } -- cgit v1.2.3