aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-19 15:17:18 +0100
committerGene Pasquet <dev@etenil.net>2024-05-19 15:17:18 +0100
commitec65a1ad4d0e4aa020511bcfc45c6741be7d4302 (patch)
tree5c33d7c07670cc3062a59f60c1d06e1c41c5709d
parent39a8d70fdc7387e7c277bbf6f464d1c1afb1baab (diff)
Let player crash into _the_ van
-rw-r--r--turbo.scm18
1 files changed, 15 insertions, 3 deletions
diff --git a/turbo.scm b/turbo.scm
index 4a569a7..3d70b5d 100644
--- a/turbo.scm
+++ b/turbo.scm
@@ -105,6 +105,14 @@
(off-road-player-top)
(off-road-player-bottom)))
+(define (vehicle-hitbox vehicle-pos)
+ (rect (vec2-x vehicle-pos) (vec2-y vehicle-pos) vehicle-length vehicle-height))
+
+(define (player-collides?)
+ (let ((player-hitbox (vehicle-hitbox player-position))
+ (van-hitbox (vehicle-hitbox red-van-position)))
+ (rect-intersects? player-hitbox van-hitbox)))
+
;;;; Chickadee hooks
(if music-play?
@@ -118,6 +126,12 @@
(off-road-player)
(set! game-over #t)))
+ (if (player-collides?)
+ (begin
+ (off-road-player)
+ ;; TODO: Think of different animation for this game over
+ (set! game-over #t)))
+
(set! road-section-position
(if (< road-section-position (* lane-length -1))
(- (+ road-section-position lane-length) player-speed)
@@ -130,9 +144,7 @@
;; when van goes off screen
(if (>= (* vehicle-length -1) (vec2-x red-van-position))
- (set! red-van-position (calculate-red-van-position 3)))
- )
- ))
+ (set! red-van-position (calculate-red-van-position 3))))))
(define (draw alpha)
(draw-road road-section-position road-start-y road-num-lanes)