Don’t mind me, just seeing how well this handles code snippets:
fn redraw(&self) -> Vec<Sprite> {
let map: VecGrid<char> = VecGrid::from(vec![
"..........",
"..######..",
"..#....#..",
"..#..###..",
"..####.#..",
"...#...#..",
"...#...#..",
"...#####..",
"..........",
"..........",
].join("\n").as_str());
let dc = DrawingContext::new((320.0, 256.0));
let mut sprites = vec![];
for (n, ch) in map.iter().enumerate() {
let c = map.coord(n);
let spr = match ch {
'.' => Sprite::new((144, 128), (16, 16)),
'#' => {
wall_tile(map.neighbors_equal(c, '#'))
},
_ => Sprite::new((80, 16), (16, 16))
};
sprites.push(dc.place(spr, (c.x as f32 * 16.0, c.y as f32 * 16.0)))
}
sprites
}