aboutsummaryrefslogtreecommitdiff
path: root/turbo/vehicles.scm
diff options
context:
space:
mode:
Diffstat (limited to 'turbo/vehicles.scm')
-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)))