33-3-4/src/population.rs

22 lines
553 B
Rust
Raw Normal View History

2021-01-07 16:15:37 +01:00
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;
}
}
}