terance wrote:yep you are right ....I need a path ...
Could you explaine how to build from this list:((1 2) (2 4) (IN 1) (IN 3) (1 3) (4 5) (5 OUT)) correct graph?
setq(defun search_room (point labirint)
(cond ((null labirint) nil)
((eql (caar labirint) point) (second (car labirint)))
(t (search_room point (cdr labirint)))))
(setq way '(in))
(defun search_path (labirint)
(setq way (cons (search_room(first way) labirint) way)) ;(push (search_room(first *way-out*) labirint) *way-out*)
(cons (eql (car way) 'out)
(t (reverse way))) ;переварачивает а потом разрушает список way
(search_path labirint))
terance wrote:I've wote something .It's working, but I'd like to know how to re-write this code without using?
- Code: Select all
setq
- Code: Select all
(defun search_room (point labirint)
(cond ((null labirint) nil)
((eql (caar labirint) point) (second (car labirint)))
(t (search_room point (cdr labirint)))))
(setq way '(in))
(defun search_path (labirint)
(setq way (cons (search_room(first way) labirint) way)) ;(push (search_room(first *way-out*) labirint) *way-out*)
(cons (eql (car way) 'out)
(t (reverse way))) ;переварачивает а потом разрушает список way
(search_path labirint))
(setq way '(in))
(defun ...)
(let ((way '(in)))
(defun ...))
Users browsing this forum: Google [Bot] and 0 guests