package.lisp @ 5e5e186a7747

Implement Aldous-Broder and a bunch of UI/code improvements
author Steve Losh <steve@stevelosh.com>
date Wed, 08 Jun 2016 13:35:49 +0000
parents a012e3f65a0d
children e897732c9b71
(defpackage #:mazes.utils
  (:use
    #:cl
    #:sketch
    #:mazes.quickutils)
  (:export
    #:dividesp
    #:in-context
    #:random-elt
    #:randomp
    #:zap%
    #:full-list
    #:smallest
    #:largest
    #:when-let
    #:recursively
    #:recur
    #:hash-keys
    #:%))

(defpackage #:mazes.fps
  (:use
    #:cl
    #:sketch
    #:mazes.quickutils
    #:mazes.utils)
  (:export
    #:with-fps
    #:draw-fps))

(defpackage #:mazes.grid
  (:use
    #:cl
    #:mazes.quickutils
    #:mazes.utils)
  (:export
    #:cell
    #:make-cell
    #:cell-link
    #:cell-unlink
    #:cell-linked-p
    #:cell-linked-north-p
    #:cell-linked-south-p
    #:cell-linked-east-p
    #:cell-linked-west-p
    #:cell-neighbors
    #:cell-north
    #:cell-south
    #:cell-east
    #:cell-west
    #:cell-col
    #:cell-row
    #:cell-active
    #:cell-active-group
    #:cell-links
    #:grid
    #:grid-cols
    #:grid-rows
    #:grid-cells
    #:grid-ref
    #:grid-clear-active
    #:make-grid
    #:grid-size
    #:grid-map-cells
    #:grid-map-rows
    #:grid-loop-cells
    #:grid-loop-rows
    #:grid-size
    #:grid-random-cell
    #:distance-map
    #:make-dm
    #:dm-distance
    #:dm-cells
    #:dm-max
    #:cell-distance-map
    #:dijkstra))

(defpackage #:mazes.generation
  (:use
    #:cl
    #:mazes.quickutils
    #:mazes.utils
    #:mazes.grid)
  (:export
    #:binary-tree
    #:binary-tree-generator
    #:sidewinder
    #:sidewinder-generator
    #:aldous-broder
    #:aldous-broder-generator)
  (:import-from #:snakes
    #:defgenerator
    #:do-generator
    #:yield))

(defpackage #:mazes.demo
  (:use
    #:cl
    #:sketch
    #:cl-arrows
    #:mazes.grid
    #:mazes.generation
    #:mazes.quickutils
    #:mazes.utils
    #:mazes.fps)
  (:import-from #:snakes
    #:do-generator))