Key-Dungeons are now strings.
authorChristoph Senjak <christoph@christoph-senjaks-macbook-pro.local>
Mon, 24 Aug 2009 07:07:55 +0000 (09:07 +0200)
committerChristoph Senjak <christoph@christoph-senjaks-macbook-pro.local>
Mon, 24 Aug 2009 07:07:55 +0000 (09:07 +0200)
Should work with run-room.

on-collision.lisp
room.lisp

index 8fbaf2a..68e284e 100755 (executable)
@@ -28,8 +28,7 @@
     ((moving-rectangle player)
      (standing-rectangle door)
      (collision collision))
-
-  (cond ((find (dungeon standing-rectangle) (keys moving-rectangle))
+  (cond ((find-if #'(lambda (x) (string= x (dungeon standing-rectangle))) (keys moving-rectangle))
         (setf (keys moving-rectangle) (delete (dungeon standing-rectangle) (keys moving-rectangle) :count 1))
         (setf (visible standing-rectangle) nil)
         (setf (active standing-rectangle) nil)
index f017379..e51b6d3 100755 (executable)
--- a/room.lisp
+++ b/room.lisp
           (add-object (make-instance 'flying-nasobem
                                      :x (* 128 x)
                                      :y (* 128 y)) room))
+         ((eq type 'key)
+          (add-object (make-instance 'key
+                                     :x (* 128 x)
+                                     :y (* 128 y)
+                                     :dungeon arg1) room))
+         ((eq type 'door)
+          (add-object (make-instance 'door
+                                     :x (* 128 x)
+                                     :y (* 128 y)
+                                     :dungeon arg1) room))
          ((eq type 'burning-marshmallow)
           (add-object (make-instance 'burning-marshmallow
                                      :x (* 128 x)