aboutsummaryrefslogtreecommitdiff
path: root/turbo
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-22 17:00:26 +0100
committerGene Pasquet <dev@etenil.net>2024-05-22 17:00:26 +0100
commit1b174b77cfb7645fa1cda1eafb44d42497af8864 (patch)
treefbe29a10bd5eb7d832aa30f857f1f25555186f8a /turbo
parent5c25d3d8ae7ccaa0476f88f1dfdb782c130b6f4e (diff)
Engine sound and code clean-up
Diffstat (limited to 'turbo')
-rw-r--r--turbo/vehicles.scm17
1 files changed, 13 insertions, 4 deletions
diff --git a/turbo/vehicles.scm b/turbo/vehicles.scm
index 62b6a02..68d6ced 100644
--- a/turbo/vehicles.scm
+++ b/turbo/vehicles.scm
@@ -12,12 +12,14 @@
vehicle-position
vehicle-speed
vehicle-active?
+ vehicle-inactive?
set-vehicle-position!
set-vehicle-speed!
set-vehicle-active!
vehicle-hitbox
vehicle-safety-distance?
- vehicle-speed-diff))
+ vehicle-speed-diff
+ vehicle-move!))
(define vehicle-height 45)
(define vehicle-length 100)
@@ -44,9 +46,16 @@
(define (vehicle-safety-distance? vehicle1 vehicle2)
(let ((vehicle1-x (vec2-x (vehicle-position vehicle1)))
(vehicle2-x (vec2-x (vehicle-position vehicle2))))
- (> vehicle2-x
- (+ (* 3 vehicle-length)
- vehicle1-x))))
+ (> (abs (- vehicle2-x vehicle1-x))
+ (+ (* 3 vehicle-length)))))
(define (vehicle-speed-diff vehicle1 vehicle2)
(abs (- (vehicle-speed vehicle1) (vehicle-speed vehicle2))))
+
+(define (vehicle-move! vehicle translation)
+ (set-vehicle-position!
+ vehicle
+ (vec2+ (vehicle-position vehicle) translation)))
+
+(define (vehicle-inactive? vehicle)
+ (not (vehicle-active? vehicle)))