diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-23 06:18:25 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-23 06:18:25 +0100 |
commit | 46c678537885a6d815f0ba4b2b8a8b16500ae07e (patch) | |
tree | ae043c8b9fb5c2b03936162b9808871422e4e449 /turbo.scm | |
parent | b18c2d0643899d5ed44a01285c49875491e4bf1f (diff) |
Fix little speed difference bugs
Diffstat (limited to 'turbo.scm')
-rw-r--r-- | turbo.scm | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -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 ))) |