Compare commits

...

2 commits

Author SHA1 Message Date
16e5dc1cdf [feat] add guard clauses 2024-05-26 22:56:51 +08:00
8412883500 [feat] move left 2024-05-26 22:54:41 +08:00

View file

@ -79,17 +79,21 @@
(define (collide-gelement! x y parenthes)
(dprint "x" x)
(dprint "y" y)
(let ((e (vector-ref (vector-ref (level-grid *level*) y) x)))
(if (and (>= x 0) (>= y 0))
(let ((e (vector-ref (vector-ref (level-grid *level*) y) x))
(len (vector-length (level-grid *level*))))
(dprint "content" (parentheses-content parenthes))
(dprint "par pos" (parentheses-pos parenthes))
(if (and (<= x len) (<= y len))
(if (gelement-interact? (gelement-type e))
(begin
(dprint "Move!")
(set-grid! x y air)
(set-parentheses-pos! parenthes (cons x y))
(set-parentheses-content! parenthes (append (parentheses-content parenthes) (gelement-content e)))
(dprint "after-content" (parentheses-content parenthes))
(dprint "grid" (level-grid *level*)))
(dprint "after-content" (parentheses-content parenthes)))
(dprint "Boop!"))))
(dprint "Boop!")))
(define (collide-pareneheses! level)
(let ((left-parenthes (level-left-parenthes level))
@ -122,11 +126,12 @@
(cond
((string=? key key:left)
(dprint "key:" key)
(collide-gelement! (- (car (parentheses-pos (level-left-parenthes *level*))) 1) (cdr (parentheses-pos (level-left-parenthes *level*))) (level-left-parenthes *level*))
(set! *element-x* (- *element-x* 10)))
((string=? key key:right)
(dprint "key:" key)
(set! *element-x* (+ *element-x* 10))
(collide-gelement! (+ 1 (car (parentheses-pos (level-left-parenthes *level*)))) (cdr (parentheses-pos (level-left-parenthes *level*))) (level-left-parenthes *level*))
(collide-gelement! (+ (car (parentheses-pos (level-left-parenthes *level*))) 1) (cdr (parentheses-pos (level-left-parenthes *level*))) (level-left-parenthes *level*))
))))
(add-event-listener! (current-document) "keydown"