mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-09-24 21:41:33 +02:00
27 lines
635 B
OpenSCAD
27 lines
635 B
OpenSCAD
use <maze/mz_square_initialize.scad>;
|
|
use <maze/mz_wang_tiles.scad>;
|
|
use <util/rand.scad>;
|
|
use <city_tile.scad>;
|
|
|
|
rows = 10;
|
|
columns = 10;
|
|
skyscraper_prs = 0.05;
|
|
|
|
maze_city(rows, columns, skyscraper_prs);
|
|
|
|
module maze_city(rows, columns, skyscraper_prs) {
|
|
mask = [for(r = [0:rows - 1])
|
|
[for(c = [0:columns - 1])
|
|
rand() < skyscraper_prs ? 0 : 1]
|
|
];
|
|
|
|
tiles = mz_wang_tiles(
|
|
rows, columns, [0, 0],
|
|
init_cells = mz_square_initialize(rows, columns, mask)
|
|
);
|
|
tile_width = 30;
|
|
for(tile = tiles) {
|
|
translate([tile.x, tile.y] * tile_width)
|
|
city_tile(tile[2], tile_width);
|
|
}
|
|
} |