diff options
Diffstat (limited to 'src/game.rs')
-rw-r--r-- | src/game.rs | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/src/game.rs b/src/game.rs index 1d9d33b..5ddbdfd 100644 --- a/src/game.rs +++ b/src/game.rs @@ -111,18 +111,7 @@ impl GameBoard { // Remove dead worms and update active worm for player in &mut self.players { - for worm_index in (0..player.worms.len()).rev() { - if player.worms[worm_index].health <= 0 { - player.worms.remove(worm_index); - if player.active_worm >= worm_index { - if player.active_worm > 0 { - player.active_worm -= 1; - } else { - player.active_worm = player.worms.len()-1; - } - } - } - } + player.clear_dead_worms(); // Update the active worm if player.worms.len() > 0 { player.active_worm = (player.active_worm + 1).checked_rem(player.worms.len()).unwrap_or(0); @@ -224,21 +213,7 @@ impl GameBoard { } for player in &mut self.players { - // Remove dead worms - for worm_index in (0..player.worms.len()).rev() { - if player.worms[worm_index].health <= 0 { - player.worms.remove(worm_index); - if player.active_worm >= worm_index { - player.active_worm = if player.active_worm > 0 { - player.active_worm - 1 - } else if player.worms.len() > 0 { - player.worms.len() - 1 - } else { - 0 - }; - } - } - } + player.clear_dead_worms(); // Update the active worm if player.worms.len() > 0 { player.active_worm = (player.active_worm + 1).checked_rem(player.worms.len()).unwrap_or(0); |