23 lines
631 B
Racket
23 lines
631 B
Racket
;; 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))
|