diff --git a/src/maze/_impl/_mz_hamiltonian_impl.scad b/src/maze/_impl/_mz_hamiltonian_impl.scad index c73f8855..edf7a2af 100644 --- a/src/maze/_impl/_mz_hamiltonian_impl.scad +++ b/src/maze/_impl/_mz_hamiltonian_impl.scad @@ -21,13 +21,6 @@ function _mz_hamiltonian_top_right(x, y) = ) [[nx, ny + 2], [nx + 1, ny + 2], [nx + 2, ny + 2], [nx + 2, ny + 1], [nx + 2, ny]]; -function _mz_hamiltonian_mask(x, y) = - let( - nx = x * 2, - ny = y * 2 - ) - [[nx, ny], [nx, ny + 2], [nx + 1, ny + 2], [nx + 2, ny + 2], [nx + 2, ny + 1], [nx + 2, ny]]; - function _mz_hamiltonian_corner_value(dots, x, y) = let( c1 = has(dots, [x, y], sorted = true) ? 1 : 0, diff --git a/src/maze/mz_hamiltonian.scad b/src/maze/mz_hamiltonian.scad index f2582bdb..feb76ef5 100644 --- a/src/maze/mz_hamiltonian.scad +++ b/src/maze/mz_hamiltonian.scad @@ -31,13 +31,13 @@ function mz_hamiltonian(rows, columns, start = [0, 0], init_cells, seed) = let(type = mz_square_get(cell, "t")) each if(type == "TOP_WALL") _mz_hamiltonian_top(cell.x, cell.y) else if(type == "RIGHT_WALL") _mz_hamiltonian_right(cell.x, cell.y) else - if(type == "TOP_RIGHT_WALL") _mz_hamiltonian_top_right(cell.x, cell.y) else - if(type == "MASK") _mz_hamiltonian_mask(cell.x, cell.y) + if(type == "TOP_RIGHT_WALL" || type == "MASK") _mz_hamiltonian_top_right(cell.x, cell.y) ], [for(x = [0:c * 2 - 1]) [x, 0]], [for(y = [0:r * 2 - 1]) [0, y]] ), - dot_pts = dedup(sort(all, by = "vt")) + dot_pts = dedup(sort(all, by = "vt")), + _ = echo(dot_pts) ) _mz_hamiltonian_travel(dot_pts, start * 2, r * c * 4); \ No newline at end of file