diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-19 15:17:18 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-19 15:17:18 +0100 |
commit | ec65a1ad4d0e4aa020511bcfc45c6741be7d4302 (patch) | |
tree | 5c33d7c07670cc3062a59f60c1d06e1c41c5709d | |
parent | 39a8d70fdc7387e7c277bbf6f464d1c1afb1baab (diff) |
Let player crash into _the_ van
-rw-r--r-- | turbo.scm | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -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) |