aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-22 17:17:51 +0100
committerGene Pasquet <dev@etenil.net>2024-05-22 17:17:51 +0100
commitb18c2d0643899d5ed44a01285c49875491e4bf1f (patch)
treedcfbeacef8b519827527bab3f635dc9466788c0d
parent1b174b77cfb7645fa1cda1eafb44d42497af8864 (diff)
Fix vehicle spawning code and different lane speeds
-rw-r--r--TODO.org6
-rw-r--r--turbo.scm15
2 files changed, 13 insertions, 8 deletions
diff --git a/TODO.org b/TODO.org
index ff2b60d..7f4497a 100644
--- a/TODO.org
+++ b/TODO.org
@@ -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
diff --git a/turbo.scm b/turbo.scm
index 2611e19..92c5103 100644
--- a/turbo.scm
+++ b/turbo.scm
@@ -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)