Skip to content

Instantly share code, notes, and snippets.

Created September 6, 2015 20:59
Show Gist options
  • Save anonymous/9a8225c30b8eff3b77fa to your computer and use it in GitHub Desktop.
Save anonymous/9a8225c30b8eff3b77fa to your computer and use it in GitHub Desktop.
fn move_enemies(&mut self) {
for enemy in &mut self.enemies {
let between = Range::new(0, 4);
let mut rng = rand::thread_rng();
let desired_move: (i8, i8) = match between.ind_sample(&mut rng) {
0 => (0, -1),
1 => (0, 1),
2 => (-1, 0),
3 => (1, 0),
_ => (0, 0), // This shouldn't happen.
};
let target_entity = self.entity_at_square(0, 0);
match self.entity_at_square(enemy.x + desired_move.0, enemy.y + desired_move.1) {
Entity::Player => {
self.phase = Phase::PlayerDied;
},
Entity::Nothing => {
enemy.move_(desired_move.0, desired_move.1);
},
_ => {} // Treasure or another Enemy
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment