hi , first of all im not a native english speaker
i wanna know ho to implement a labyrinth in lisp?
think u
i wanna know ho to implement a labyrinth in lisp?
think u
Discuss and learn Lisp programming of all dialects
This is a read-only archive of lispforum.com. The forum was locked to new users and posts and is preserved here as static HTML from a database snapshot taken on 2019-09-07.
3 posts · 2536 views
north
+-----------+---+
| | |
| +-------+ | Lisp direction-keywords
| | |
| + +-------+ :n = north
w | | | e
e | +---+ + | a :s = south
s | | | | s
t | +---+---+ | t :e = east
| | |
+---+ | + | :w = west
| | | |
| +---+ | |
| | |
+-----------+---+
south
could be implemented as a 2-dimensional array containing lists of direction-keywords:(defparameter *maze*
(make-array '(7 4) :initial-contents
'(((:s :e) (:e :w) (:w) (:s))
((:n :s) (:s :e) (:e :w) (:n :w))
((:n :s :e) (:n :w) (:s :e) (:s :w))
((:n :s) (:e) (:n :w) (:n :s))
((:n :e) (:s :w) (:s :e) (:n :s :w))
((:s :e) (:n :w) (:n :s) (:n :s))
((:n :e) (:e :w) (:n :w) (:n)))))
to find out if it is possible to move from a given field in a given direction you could use a function like this:(defun move-possible-p (y x direction-keyword)
(find direction-keyword (aref *maze* y x)))
Is this what you wanted?