use rand::Rng; use crate::city::{SIZE, House, HouseLayout}; use rand::prelude::StdRng; pub(crate) fn populate_random(layout: &mut HouseLayout, rng: &mut StdRng) { loop { loop { let x = rng.gen_range(0..SIZE); let y = rng.gen_range(0..SIZE); let house = House::new(x, y); if layout.city.is_house_xy(x, y) && !layout.is_covered(house) { layout.add_house(house); break; } } if layout.is_valid() { break; } } }