Maze generation: Difference between revisions

→‎Quality Breadth-First: Remove fr (frontier cells) hash table that contributes nothing.
(→‎Quality Breadth-First: Remove fr (frontier cells) hash table that contributes nothing.)
Line 7,031:
 
(defun make-maze-impl (cu)
(let ((frq (hashlist :equal-basedcu))
(q (list cu))
(c sc))
(set [frvi cu] t)
(while q
(let* ((cu (first q))
(ne (rnd-pick (remove-if (orf vi fr) (neigh cu)))))
(cond (ne (set [frvi ne] t)
(push ne [pa cu])
(push cu [pa ne])
Line 7,045 ⟶ 7,044:
(set q (shuffle q))
(set c sc))))
(t (setpop [vi cu] tq)))))))
(del [fr cu])
(pop q)))))))
 
(defun make-maze (w h sf)
543

edits