Skip to content

Commit

Permalink
Tail following
Browse files Browse the repository at this point in the history
  • Loading branch information
marcusbuffett committed Nov 9, 2020
1 parent 7c8e2f7 commit 2f57b9b
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/main.rs
Expand Up @@ -126,10 +126,16 @@ fn spawn_segment(
fn snake_movement(
keyboard_input: Res<Input<KeyCode>>,
snake_timer: ResMut<SnakeMoveTimer>,
segments: ResMut<SnakeSegments>,
mut heads: Query<(Entity, &mut SnakeHead)>,
mut positions: Query<&mut Position>,
) {
if let Some((head_entity, mut head)) = heads.iter_mut().next() {
let segment_positions = segments
.0
.iter()
.map(|e| *positions.get_mut(*e).unwrap())
.collect::<Vec<Position>>();
let mut head_pos = positions.get_mut(head_entity).unwrap();
let dir: Direction = if keyboard_input.pressed(KeyCode::Left) {
Direction::Left
Expand Down Expand Up @@ -162,6 +168,12 @@ fn snake_movement(
head_pos.y -= 1;
}
};
segment_positions
.iter()
.zip(segments.0.iter().skip(1))
.for_each(|(pos, segment)| {
*positions.get_mut(*segment).unwrap() = *pos;
});
}
}

Expand Down

0 comments on commit 2f57b9b

Please sign in to comment.