aboutsummaryrefslogtreecommitdiff
path: root/turbo
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-22 10:59:34 +0100
committerGene Pasquet <dev@etenil.net>2024-05-22 10:59:34 +0100
commit523ed18352463ddea29bf0a97a65ca40b40cf420 (patch)
tree728e114f727f6c0c6297123e5146e7241e85df3e /turbo
parent0092c594e89e491df926693012f4cd70a85c461e (diff)
Define player car as a vehicle
Diffstat (limited to 'turbo')
-rw-r--r--turbo/vehicles.scm15
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))))