1 ;;; Copyright 2009 Christoph Senjak
3 (in-package :uxul-world)
7 (defmethod (setf x) (new-value (obj T)))
8 (defmethod (setf y) (new-value (obj T)))
9 (defmethod (setf visible) (new-value (obj T)))
12 (defun make-testing-room ()
13 "Create a simple room for testing. Shouldnt be used anymore. Use the
14 level-editor instead!"
15 (let* ((player (make-instance 'player
21 (ret (make-instance 'room
25 :graphic-centralizer player
27 #'(lambda (key) (on-key-up player key))
29 #'(lambda (key) (on-key-down player key))
31 (add-object player ret)
33 (add-object (make-instance 'burning-marshmallow
36 :inner-rectangle (list (* 40 128) (* 5 128) (* 65 128) (* 9 128))
42 (add-object (make-instance 'burning-marshmallow
45 :inner-rectangle (list (* 40 128) (* 5 128) (* 65 128) (* 9 128))
50 (add-object (make-instance 'burning-marshmallow
53 :inner-rectangle (list (* 40 128) (* 5 128) (* 65 128) (* 9 128))
58 (add-object (make-instance 'burning-marshmallow
61 :inner-rectangle (list (* 30 128) (* 5 128) (* 41 128) (* 9 128))
66 (add-object (make-instance 'simple-enemy
72 (add-object (make-instance 'simple-enemy
78 (add-object (make-instance 'simple-enemy
84 (add-object (make-instance 'simple-enemy
90 (add-object (make-instance 'simple-enemy
96 (add-object (make-instance 'simple-enemy
102 (add-object (make-instance 'simple-enemy
111 (make-instance 'stone
119 (make-instance 'stone
127 (make-instance 'stone
136 (add-object (make-instance 'stone
144 (add-object (make-instance 'leaf
148 (add-object (make-instance 'leaf
152 (add-object (make-instance 'leaf
158 (add-object (make-instance 'stone
165 (add-object (make-instance 'stone
171 (add-object (make-instance 'stone
177 (add-object (make-instance 'stone
183 (add-object (make-instance 'stone
189 (add-object (make-instance 'stone
195 (add-object (make-instance 'stone
201 (add-object (make-instance 'stone
209 (add-object (make-instance 'stone
219 (add-object (make-instance 'stone
221 :y (* (+ (- 4 i) j 4) 128)
229 (add-object (make-instance 'stone
239 (add-object (make-instance 'stone
240 :x (* (+ i j 72) 128)
248 ((member j '(0 1 2)) '(83))
249 ((member j '(3 4 5)) '(83 84 85 86))
250 (T '(79 80 81 82 83 84 85 86))))
251 (add-object (make-instance 'stone
260 (dolist (j '((0 0 0 0 0 1 1 1 2)
264 (0 0 0 1 1 1 1 1 2)))
265 (let ((x (* 128 87)))
268 (add-object (make-instance 'stone
276 (add-object (make-instance 'leaf
282 (add-object (make-instance 'flying-nasobem
285 (add-object (make-instance 'flying-nasobem