summaryrefslogtreecommitdiff
path: root/src/engine/bitwise_engine.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/bitwise_engine.rs')
-rw-r--r--src/engine/bitwise_engine.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/engine/bitwise_engine.rs b/src/engine/bitwise_engine.rs
index afd4bcc..35b574e 100644
--- a/src/engine/bitwise_engine.rs
+++ b/src/engine/bitwise_engine.rs
@@ -336,6 +336,11 @@ impl Player {
self.iron_curtain_available && self.iron_curtain_remaining == 0
}
+ pub fn can_build_iron_curtain_in(&self, round: u16, moves: u8) -> bool {
+ let unlocks = round % IRON_CURTAIN_UNLOCK_INTERVAL > round + u16::from(moves) % IRON_CURTAIN_UNLOCK_INTERVAL;
+ (self.iron_curtain_available || unlocks) && self.iron_curtain_remaining.saturating_sub(moves) == 0
+ }
+
pub fn unoccupied_cell_count(&self) -> usize { self.occupied.count_zeros() as usize }
pub fn location_of_unoccupied_cell(&self, i: usize) -> Point {
let bit = find_bit_index_from_rank(self.occupied, i as u64);