diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-23 20:11:29 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-23 20:11:29 +0100 |
commit | d3454d9954393626a42e99cdb2a28481408b674f (patch) | |
tree | deb189e6d00d4c739f22ae2758784bc4c20b52c2 | |
parent | 8987818800c434a452fdc427efdc45f7e2cbbfb4 (diff) |
Calculate and display distance
-rw-r--r-- | TODO.org | 5 | ||||
-rw-r--r-- | turbo.scm | 15 |
2 files changed, 15 insertions, 5 deletions
@@ -10,9 +10,10 @@ ** DONE Make cars in different lanes drive at different speeds ** DONE Add restart option ** DONE Smooth acceleration -** TODO Measure traveled distance +** DONE Measure traveled distance ** TODO Smooth increasing turn rate -** STARTED Display level on screen +** DONE Display level on screen +** TODO Level up automatically ** TODO Add weapon to player car *** TODO Make weapon a power-up *** TODO Make weapon use limited (bullet? time?) @@ -35,6 +35,7 @@ ;; 4px/s/s deceleration (define player-car-deceleration -500) (define player-current-acceleration 0) +(define player-distance-travelled 0) (define level-difficulty 1) @@ -184,6 +185,9 @@ (off-road-player) (set! game-over #t)) + + (set! player-distance-travelled (+ player-distance-travelled (* interval (vehicle-speed player-car)))) + (let ((new-speed (+ (vehicle-speed player-car) (* player-current-acceleration interval)))) (set-vehicle-speed! player-car (min player-max-speed @@ -226,7 +230,7 @@ (define (draw alpha) (draw-road road-section-position road-start-y road-num-lanes) (draw-text "Turbo Racer 3000!" - (vec2 170.0 (- (window-height (current-window)) 25)) + (vec2 300.0 (- (window-height (current-window)) 25)) #:font the-font #:scale (vec2 2 2)) @@ -236,6 +240,11 @@ (draw-sprite (vehicle-sprite veh) (vehicle-position veh))) (filter vehicle-active? vehicles)) + (draw-text (format #f "Distance: ~1,1fmi" (/ player-distance-travelled 12440)) + (vec2 30.0 (- (window-height (current-window)) 25)) + #:font the-font + #:scale (vec2 2 2)) + (draw-text (format #f "Speed: ~smph" (round (* (vehicle-speed player-car) 0.11187))) (vec2 400.0 20.0) #:font the-font @@ -245,12 +254,12 @@ (vec2 30.0 20.0) #:font the-font #:scale (vec2 2 2)) - + (if game-over (draw-text "GAME OVER" (vec2 260 (/ (window-width (current-window)) 2)) #:font the-font #:scale (vec2 2 2)))) - + (define (key-press key modifiers repeat?) (cond |