From 2f23ab85adb7ffc5866cc948bad0c35a7d41a05b Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Sun, 17 May 2020 20:05:33 +0200 Subject: Only match the good moves --- src/lib.rs | 2 +- src/state.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 519b804..c36a817 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -128,7 +128,7 @@ fn shortest_path_first_command(initial_state: &GameState) -> Option { .zip(shortest_path_states.0.iter().skip(1)) .map(|(state, next)| { let player_move = state - .valid_moves(0) + .good_moves(0) .into_iter() .filter(|player_move| *player_move != Command::UseOil) .find(|player_move| { diff --git a/src/state.rs b/src/state.rs index be42228..acbce80 100644 --- a/src/state.rs +++ b/src/state.rs @@ -231,7 +231,7 @@ impl GameState { pub fn good_moves(&self, player_index: usize) -> Vec { let player = &self.players[player_index]; - let mut result = Vec::with_capacity(7); + let mut result = Vec::with_capacity(5); result.push(Command::Accelerate); if player.position.y > MIN_Y { result.push(Command::TurnLeft); -- cgit v1.2.3