aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-23 20:11:29 +0100
committerGene Pasquet <dev@etenil.net>2024-05-23 20:11:29 +0100
commitd3454d9954393626a42e99cdb2a28481408b674f (patch)
treedeb189e6d00d4c739f22ae2758784bc4c20b52c2
parent8987818800c434a452fdc427efdc45f7e2cbbfb4 (diff)
Calculate and display distance
-rw-r--r--TODO.org5
-rw-r--r--turbo.scm15
2 files changed, 15 insertions, 5 deletions
diff --git a/TODO.org b/TODO.org
index aafd919..bd5db55 100644
--- a/TODO.org
+++ b/TODO.org
@@ -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?)
diff --git a/turbo.scm b/turbo.scm
index fee5553..09b9d4c 100644
--- a/turbo.scm
+++ b/turbo.scm
@@ -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