diff options
Diffstat (limited to 'turbo/vehicles.scm')
-rw-r--r-- | turbo/vehicles.scm | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/turbo/vehicles.scm b/turbo/vehicles.scm index 618d808..7bc1421 100644 --- a/turbo/vehicles.scm +++ b/turbo/vehicles.scm @@ -1,5 +1,7 @@ (define-module (turbo vehicles) #:use-module (srfi srfi-9) + #:use-module (chickadee math vector) + #:use-module (chickadee math rect) #:export (make-vehicle make-inactive-vehicle vehicle-height @@ -14,7 +16,8 @@ set-vehicle-speed! set-vehicle-active! vehicle-hitbox - vehicle-safety-distance?)) + vehicle-safety-distance? + vehicle-speed-diff)) (define vehicle-height 45) (define vehicle-length 100) @@ -32,8 +35,11 @@ (define (make-inactive-vehicle id tile initial-position) (make-vehicle id tile initial-position 4 #f)) -(define (vehicle-hitbox vehicle-pos) - (rect (vec2-x vehicle-pos) (vec2-y vehicle-pos) vehicle-length vehicle-height)) +(define (vehicle-hitbox vehicle) + (rect (vec2-x (vehicle-position vehicle)) + (vec2-y (vehicle-position vehicle)) + vehicle-length + vehicle-height)) (define (vehicle-safety-distance? vehicle1 vehicle2) (let ((vehicle1-x (vec2-x (vehicle-position vehicle1))) @@ -41,3 +47,6 @@ (> vehicle2-x (+ (* 2 vehicle-length) vehicle1-x)))) + +(define (vehicle-speed-diff vehicle1 vehicle2) + (abs (- (vehicle-speed vehicle1) (vehicle-speed vehicle2)))) |