环境
- Time 2022-11-30
- WSL-Ubuntu 22.04
- RLTK 0.8.7
前言
说明
参考:https://bfnightly.bracketproductions.com/rustbook
目标
基于前一节的内容,生成两个小房间,只修改 map.rs 文件。
生成房间函数
fn apply_room_to_map(room: &Rect, map: &mut [TileType]) {
for y in room.y1 + 1..=room.y2 {
for x in room.x1 + 1..=room.x2 {
map[index(x, y)] = TileType::Floor;
}
}
}
新地图
pub fn new_map() -> Vec<TileType> {
let mut map = vec![TileType::Wall; 80 * 50];
let room1 = Rect::with_size(20, 15, 10, 15);
let room2 = Rect::with_size(35, 15, 10, 15);
apply_room_to_map(&room1, &mut map);
apply_room_to_map(&room2, &mut map);
map
}
效果
总结
重新生成地图,在地图上生成两个小房间。