aboutsummaryrefslogtreecommitdiff
path: root/turbo.scm
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-23 06:18:25 +0100
committerGene Pasquet <dev@etenil.net>2024-05-23 06:18:25 +0100
commit46c678537885a6d815f0ba4b2b8a8b16500ae07e (patch)
treeae043c8b9fb5c2b03936162b9808871422e4e449 /turbo.scm
parentb18c2d0643899d5ed44a01285c49875491e4bf1f (diff)
Fix little speed difference bugs
Diffstat (limited to 'turbo.scm')
-rw-r--r--turbo.scm18
1 files changed, 11 insertions, 7 deletions
diff --git a/turbo.scm b/turbo.scm
index 92c5103..1c32f01 100644
--- a/turbo.scm
+++ b/turbo.scm
@@ -31,7 +31,7 @@
(define player-max-speed 20)
(define player-rotation 0)
-(define level-difficulty 50)
+(define level-difficulty 1)
(define music-play? #t)
(define music-res (load-audio "music.ogg"))
@@ -77,9 +77,9 @@
(define (vehicle-has-spawn-space? vehicle)
(define (vehicle-in-the-way? v)
- (and (not (= (vehicle-id vehicle) (vehicle-id v)))
- (vehicle-inactive? v)
- (vehicle-safety-distance? v vehicle)))
+ (and (not (vehicle= vehicle v))
+ (vehicle-active? v)
+ (not (vehicle-safety-distance? v vehicle))))
(not (any vehicle-in-the-way? vehicles)))
@@ -198,18 +198,22 @@
(set-vehicle-position! player-car (vec2+ (vehicle-position player-car) player-velocity))
(for-each (lambda (veh)
- (vehicle-move! veh (vec2 (- 0 (vehicle-speed-diff player-car veh)) 0)))
+ (vehicle-move! veh (vec2 (- 0 (vehicle-speed- player-car veh)) 0)))
(filter vehicle-active? vehicles))
- ;; when vehicle goes off screen
+ ;; Reset vehicles that have gone off screen
(for-each vehicle-reset-ahead (filter vehicle-off-screen? vehicles))
+ ;; Randomly respawn vehicles based on level difficulty
(if (= 0 (random level-difficulty))
(begin
(let* ((inactive-vehicles (filter vehicle-inactive? vehicles))
(spawnable-vehicles (filter vehicle-has-spawn-space? inactive-vehicles)))
(if (not (null? spawnable-vehicles))
- (set-vehicle-active! (car spawnable-vehicles) #t)))))
+ (set-vehicle-active! (list-ref
+ spawnable-vehicles
+ (random (length spawnable-vehicles)))
+ #t)))))
;; End begin
)))