[feat] add guard clauses

This commit is contained in:
SouthFox 2024-05-26 22:55:26 +08:00
parent 8412883500
commit 16e5dc1cdf

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)))
(dprint "content" (parentheses-content parenthes))
(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 "Boop!"))))
(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 "Boop!"))))
(dprint "Boop!")))
(define (collide-pareneheses! level)
(let ((left-parenthes (level-left-parenthes level))