~herlock_sholmes/PensamientoComputacional

922d1612a606be140d83a2d6742d0608e793203d — Herlock Sholmes 1 year, 4 months ago b911fbf
00014: se actualiza archivo la-casa-del-mago.lisp
1 files changed, 25 insertions(+), 0 deletions(-)

M EjemplosLisp/CommonLisp/la-casa-del-mago.lisp
M EjemplosLisp/CommonLisp/la-casa-del-mago.lisp => EjemplosLisp/CommonLisp/la-casa-del-mago.lisp +25 -0
@@ 69,3 69,28 @@
  (append (describir-lugar *ubicacion* *nodos*)
          (describir-caminos *ubicacion* *arista*)
          (describir-objetos *ubicacion* *objetos* *ubicacion-objetos*)))

;; Definir una función para caminar

(defun caminar (direccion)
  (let ((siguiente (find direccion
                         (cdr (assoc *ubicacion* *nodos*))
                         :key #'cadr)))
    (if siguiente
        (progn (setf *ubicacion* (car siguiente))
               (mirar))
        '(no puedes ir en esa dirección.))))

;; Definir una función que permite recoger los objetos

(defun recoger (objeto)
  (cond ((member objeto
                 (objeto-en *ubicacion* *objetos* *ubicacion-objetos*))
         (push (list objeto 'cuerpo) *ubicacion-objetos*)
         `(ahora llevas contigo la ,objeto))
        (t '(no puedes recoger eso.))))

;; Definir una función para revisar el inventario

(defun inventario ()
  (cons 'items- (objeto-en 'cuerpo *objetos* *ubicacion-objetos*)))