From 8e44d57fdb1c7be69501ebdfc5f9f5d48642b065 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Mon, 2 Jul 2018 22:08:51 +0200 Subject: Initial drop in replacement implementation It's faster than the other one! Doesn't tesla yet, but still! Yay! --- src/engine/expressive_engine.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/engine/expressive_engine.rs') diff --git a/src/engine/expressive_engine.rs b/src/engine/expressive_engine.rs index 0640d58..b7d7bf2 100644 --- a/src/engine/expressive_engine.rs +++ b/src/engine/expressive_engine.rs @@ -89,8 +89,11 @@ impl GameState for ExpressiveGameState { fn opponent(&self) -> &Player { &self.opponent } fn player_has_max_teslas(&self) -> bool { self.count_player_teslas() >= 2 } fn opponent_has_max_teslas(&self) -> bool { self.count_opponent_teslas() >= 2 } - fn unoccupied_player_cells(&self) -> &[Point] { &self.unoccupied_player_cells } - fn unoccupied_opponent_cells(&self) -> &[Point] { &self.unoccupied_opponent_cells } + + fn unoccupied_player_cell_count(&self) -> usize { self.unoccupied_player_cells.len() } + fn unoccupied_opponent_cell_count(&self) -> usize { self.unoccupied_opponent_cells.len() } + fn location_of_unoccupied_player_cell(&self, i: usize) -> Point { self.unoccupied_player_cells[i] } + fn location_of_unoccupied_opponent_cell(&self, i: usize) -> Point { self.unoccupied_opponent_cells[i] } } impl ExpressiveGameState { -- cgit v1.2.3