summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index 74428c3..92b0a1b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -26,5 +26,22 @@ fn main() {
}
fn choose_command(state: &GameState) -> Command {
- Command::Accelerate
+ let player_moves = state.valid_moves(0);
+ let naive_result = player_moves
+ .into_iter()
+ .map(|player_move| {
+ let mut state = state.clone();
+ state.update([player_move, Command::Nothing]);
+ (player_move, state)
+ })
+ .max_by(|(_, state_1), (_, state_2)| {
+ state_1.players[0]
+ .position
+ .x
+ .cmp(&state_2.players[0].position.x)
+ .then(state_1.players[0].speed.cmp(&state_2.players[0].speed))
+ })
+ .unwrap()
+ .0;
+ naive_result
}