mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-20 13:31:30 +02:00
move
This commit is contained in:
28
examples/maze/maze_city.scad
Normal file
28
examples/maze/maze_city.scad
Normal file
@@ -0,0 +1,28 @@
|
||||
use <maze/mz_square_initialize.scad>;
|
||||
use <maze/mz_square.scad>;
|
||||
use <maze/mz_wang_tiles.scad>;
|
||||
use <util/rand.scad>;
|
||||
use <../tiles/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]
|
||||
];
|
||||
|
||||
cells = mz_square(rows, columns, [0, 0], init_cells = mz_square_initialize(rows, columns, mask));
|
||||
|
||||
tiles = mz_wang_tiles(cells);
|
||||
|
||||
tile_width = 30;
|
||||
for(tile = tiles) {
|
||||
translate([tile.x, tile.y] * tile_width)
|
||||
city_tile(tile[2], tile_width);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user