diff --git a/examples/maze/heart_maze.scad b/examples/maze/heart_maze.scad index a5ea2d2d..9ba074d4 100644 --- a/examples/maze/heart_maze.scad +++ b/examples/maze/heart_maze.scad @@ -3,6 +3,7 @@ use ; use ; use ; use ; +use ; radius_of_heart = 12; height_of_heart = 25; @@ -58,20 +59,14 @@ module heart_to_heart_wall(radius, length, angle, thickness) { } module heart_maze(maze, radius, cblocks, levels, thickness = 1) { - // NO_WALL = 0; - // UPPER_WALL = 1; - // RIGHT_WALL = 2; - // UPPER_RIGHT_WALL = 3; + function no_wall(block) = get_wall_type(block) == "NO_WALL"; + function upper_wall(block) = get_wall_type(block) == "UPPER_WALL"; + function right_wall(block) = get_wall_type(block) == "RIGHT_WALL"; + function upper_right_wall(block) = get_wall_type(block) == "UPPER_RIGHT_WALL"; - function no_wall(block) = get_wall_type(block) == 0; - function upper_wall(block) = get_wall_type(block) == 1; - function right_wall(block) = get_wall_type(block) == 2; - function upper_right_wall(block) = get_wall_type(block) == 3; - - function block(x, y, wall_type, visited) = [x, y, wall_type, visited]; - function get_x(block) = block[0]; - function get_y(block) = block[1]; - function get_wall_type(block) = block[2]; + function get_x(block) = mz_get(block, "x"); + function get_y(block) = mz_get(block, "y"); + function get_wall_type(block) = mz_get(block, "w"); arc_angle = 360 / cblocks; r = radius / (levels + 1);