summaryrefslogtreecommitdiff
path: root/src/engine/bitwise_engine.rs
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2018-08-12 09:37:44 +0200
committerJustin Worthe <justin@worthe-it.co.za>2018-08-12 09:37:44 +0200
commita760bc7543b186714b11648e8be515dcdfc49b95 (patch)
tree25885299c77c41ed2d28f23e6e3414e4862c1410 /src/engine/bitwise_engine.rs
parentfe3fbbdd7b4c4cb243f859db63a0cc6070179839 (diff)
Allowed monte carlo search to use iron curtains
Diffstat (limited to 'src/engine/bitwise_engine.rs')
-rw-r--r--src/engine/bitwise_engine.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/engine/bitwise_engine.rs b/src/engine/bitwise_engine.rs
index e9c1b0a..fb46567 100644
--- a/src/engine/bitwise_engine.rs
+++ b/src/engine/bitwise_engine.rs
@@ -87,6 +87,13 @@ impl BitwiseGameState {
pub fn player_has_max_teslas(&self) -> bool { self.player_buildings.count_teslas() >= TESLA_MAX }
pub fn opponent_has_max_teslas(&self) -> bool { self.opponent_buildings.count_teslas() >= TESLA_MAX }
+ pub fn player_can_build_iron_curtain(&self) -> bool {
+ self.player_buildings.iron_curtain_available && self.player_buildings.iron_curtain_remaining == 0 && self.player.energy >= IRON_CURTAIN_PRICE
+ }
+ pub fn opponent_can_build_iron_curtain(&self) -> bool {
+ self.opponent_buildings.iron_curtain_available && self.opponent_buildings.iron_curtain_remaining == 0 && self.opponent.energy >= IRON_CURTAIN_PRICE
+ }
+
pub fn unoccupied_player_cell_count(&self) -> usize { self.player_buildings.occupied.count_zeros() as usize }
pub fn unoccupied_opponent_cell_count(&self) -> usize { self.opponent_buildings.occupied.count_zeros() as usize }
pub fn location_of_unoccupied_player_cell(&self, i: usize) -> Point {