;; Shows a maze with a path connecting two given cells (define (show-path m p1 p2) (match-define (maze N M tbl) m) (define route (find-path m p1 p2)) (for ([i N]) (display "+---")) (displayln "+") (for ([j M]) (display "|") (for ([i (- N 0)]) (if (member (list i j) route) (display " *") (display " ")) (if (connected? tbl (list i j) (list (+ 1 i) j)) (display " ") (display " |"))) (newline) (for ([i N]) (if (connected? tbl (list i j) (list i (+ j 1))) (display "+ ") (display "+---"))) (displayln "+")) (newline))