diff options
author | Justin Worthe <justin@worthe-it.co.za> | 2018-07-01 23:58:52 +0200 |
---|---|---|
committer | Justin Worthe <justin@worthe-it.co.za> | 2018-07-01 23:58:52 +0200 |
commit | 8dd9517ae4b925fba5b825da04254412e039fa0c (patch) | |
tree | ac7547592e0f184a73330cbc513d3feb07c802db /tests/expressive_to_bitwise_comparison.rs | |
parent | 99378ed484b04c710e0307db93ada65b29d93bae (diff) |
Continued filling in bitwise game engine
Diffstat (limited to 'tests/expressive_to_bitwise_comparison.rs')
-rw-r--r-- | tests/expressive_to_bitwise_comparison.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/expressive_to_bitwise_comparison.rs b/tests/expressive_to_bitwise_comparison.rs index 9ce5288..40181b2 100644 --- a/tests/expressive_to_bitwise_comparison.rs +++ b/tests/expressive_to_bitwise_comparison.rs @@ -129,6 +129,15 @@ fn build_bitwise_from_expressive(expressive: &expressive_engine::ExpressiveGameS .fold(0, |acc, next| acc | next.pos.to_right_bitfield(8)) ); + let player_occupied = expressive.player_buildings.iter() + .fold(0, |acc, next| acc | next.pos.to_left_bitfield(8)) | + expressive.player_unconstructed_buildings.iter() + .fold(0, |acc, next| acc | next.pos.to_left_bitfield(8)); + let opponent_occupied = expressive.opponent_buildings.iter() + .fold(0, |acc, next| acc | next.pos.to_right_bitfield(8)) | + expressive.opponent_unconstructed_buildings.iter() + .fold(0, |acc, next| acc | next.pos.to_right_bitfield(8)); + let mut player_attack_iter = (0..4) .map(|i| expressive.player_buildings.iter() .filter(|b| identify_building_type(b.weapon_damage, b.energy_generated_per_turn) == BuildingType::Attack) @@ -196,6 +205,7 @@ fn build_bitwise_from_expressive(expressive: &expressive_engine::ExpressiveGameS player_buildings: bitwise_engine::PlayerBuildings { unconstructed: player_unconstructed, buildings: [player_buildings_iter.next().unwrap(), player_buildings_iter.next().unwrap(), player_buildings_iter.next().unwrap(), player_buildings_iter.next().unwrap()], + occupied: player_occupied, energy_towers: player_energy, missile_towers: [player_attack_iter.next().unwrap(), player_attack_iter.next().unwrap(), player_attack_iter.next().unwrap(), player_attack_iter.next().unwrap()], missiles: player_missiles, @@ -205,6 +215,7 @@ fn build_bitwise_from_expressive(expressive: &expressive_engine::ExpressiveGameS opponent_buildings: bitwise_engine::PlayerBuildings { unconstructed: opponent_unconstructed, buildings: [opponent_buildings_iter.next().unwrap(), opponent_buildings_iter.next().unwrap(), opponent_buildings_iter.next().unwrap(), opponent_buildings_iter.next().unwrap()], + occupied: opponent_occupied, energy_towers: opponent_energy, missile_towers: [opponent_attack_iter.next().unwrap(), opponent_attack_iter.next().unwrap(), opponent_attack_iter.next().unwrap(), opponent_attack_iter.next().unwrap()], missiles: opponent_missiles, |