diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-22 17:17:51 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-22 17:17:51 +0100 |
commit | b18c2d0643899d5ed44a01285c49875491e4bf1f (patch) | |
tree | dcfbeacef8b519827527bab3f635dc9466788c0d | |
parent | 1b174b77cfb7645fa1cda1eafb44d42497af8864 (diff) |
Fix vehicle spawning code and different lane speeds
-rw-r--r-- | TODO.org | 6 | ||||
-rw-r--r-- | turbo.scm | 15 |
2 files changed, 13 insertions, 8 deletions
@@ -7,8 +7,10 @@ *** DONE Add multiple vehicles on different lanes *** DONE Ensure vehicles don't overlap ** DONE Detect collision with other vehicles -** TODO Make cars in different lanes drive at different speeds -** TODO Add restart option +** DONE Make cars in different lanes drive at different speeds +** DONE Add restart option +** TODO Smooth acceleration +** TODO Smooth increasing turn rate ** TODO Display level on screen ** TODO Add weapon to player car *** TODO Make weapon a power-up @@ -31,7 +31,7 @@ (define player-max-speed 20) (define player-rotation 0) -(define level-difficulty 200) +(define level-difficulty 50) (define music-play? #t) (define music-res (load-audio "music.ogg")) @@ -59,7 +59,15 @@ (make-vehicle-list vehicle-list (+ tile-ref 1)))) vehicle-list)) +(define (vehicle-reset-ahead veh) + (let ((lane-num (random road-num-lanes))) + (set-vehicle-position! veh (calculate-vehicle-position + (+ 1 lane-num))) + (set-vehicle-speed! veh (+ player-min-speed lane-num) ) + (set-vehicle-active! veh #f))) + (define vehicles (make-vehicle-list (list) 0)) +(for-each vehicle-reset-ahead vehicles) ;; Important: set one vehicle active to bootstrap the game ???? ;; TODO: nope, bug here somewhere! @@ -159,11 +167,6 @@ (and vehicle-active? (>= (- 0 vehicle-length) (vec2-x (vehicle-position veh))))) -(define (vehicle-reset-ahead veh) - (set-vehicle-position! veh (calculate-vehicle-position - (+ 1 (random road-num-lanes)))) - (set-vehicle-active! veh #f)) - ;;;; Chickadee hooks (set-source-volume! music 0.5) |