Add gems and the start of floor switches.
This commit is contained in:
parent
5fb33112d8
commit
ba7b9ea9d8
5 changed files with 142 additions and 36 deletions
|
@ -19,7 +19,7 @@
|
|||
(actor level-actor)
|
||||
(player level-player))
|
||||
|
||||
(define (make-level width height background objects)
|
||||
(define (make-level width height background objects spawn-gem?)
|
||||
(let ((level* (spawn ^level width height))
|
||||
(len (bytevector-length objects)))
|
||||
;; Parsed packed object data and spawn objects, making special
|
||||
|
@ -37,9 +37,12 @@
|
|||
(5 (spawn ^block x y 'copper))
|
||||
(6 (spawn ^block x y 'crate))
|
||||
(7 (spawn ^clock-emitter x y 4))
|
||||
(8 (spawn ^floor-switch x y))
|
||||
(9 (and spawn-gem? (spawn ^gem x y)))
|
||||
(id (error "invalid level object" id)))))
|
||||
($ level* 'add-object obj)
|
||||
(if (= id 3) ; player-spawn
|
||||
(when obj
|
||||
($ level* 'add-object obj))
|
||||
(if (= id 3) ; player-spawn
|
||||
(lp (+ i 3) obj)
|
||||
(lp (+ i 3) player)))
|
||||
(%make-level background level* player)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue