diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-19 09:45:36 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-19 09:45:36 +0100 |
commit | 4574952982cf2f1c0a81edafa74cc37abb161759 (patch) | |
tree | 8a30f5ddc1dda6d92c08f281737fc46ae161ed59 /turbo.scm | |
parent | bcb58e9a7d929fdda1b9b3a9e8b36ac864a70316 (diff) |
Code tidy up
Diffstat (limited to 'turbo.scm')
-rw-r--r-- | turbo.scm | 69 |
1 files changed, 41 insertions, 28 deletions
@@ -4,13 +4,31 @@ (ice-9 pretty-print) (ice-9 format)) +;;;; Constants and variables + (define lane-height 65) (define lane-length 200) +(define road-start-y 80) +(define road-section-position 0) (define road (load-tileset "road.png" lane-length lane-height)) (define road-top (texture-atlas-ref road 2)) (define road-bottom (texture-atlas-ref road 0)) (define road-lane (texture-atlas-ref road 1)) -(define road-start-y 80) + +(define vehicle-height 45) +(define vehicle-length 100) +(define vehicle-steering-speed 4.0) +(define vehicles (load-tileset "vehicles.png" vehicle-length vehicle-height)) + +(define player-car (texture-atlas-ref vehicles 0)) +(define player-velocity (vec2 0 0)) +(define player-min-speed 4) +(define player-max-speed 20) +(define player-speed player-min-speed) + +(define load-complete #f) + +;;;; Game functions (define (draw-lanes x y num-lanes) (if (> num-lanes 0) @@ -33,47 +51,42 @@ (+ road-start-y (* lane-height (- num-lane 1)))) -(define vehicle-height 45) -(define vehicle-length 100) -(define vehicles (load-tileset "vehicles.png" vehicle-length vehicle-height)) -(define selected-car (texture-atlas-ref vehicles 0)) - -(define car-pos-x 0.0) -(define car-steering-speed 4.0) -(define player-velocity (vec2 0 0)) -(define road-min-speed 4) -(define road-max-speed 20) -(define road-speed road-min-speed) -(define road-position 0) - (define player-position (vec2 (/ (- (window-width (current-window)) vehicle-length) 2) (+ (lane-y 3) (/ (- lane-height vehicle-height) 2)))) -(define (draw alpha) - (set! road-position (if (< road-position (* lane-length -1)) - (- (+ road-position lane-length) road-speed) - (- road-position road-speed))) - (draw-road road-position road-start-y 5) +;;;; Chickadee hooks - (draw-text "Turbo Racers!" (vec2 260.0 (- (window-height (current-window)) 25))) - (draw-text (format #f "Speed: ~smph" (* road-speed 5)) - (vec2 450.0 20.0)) +(define (update interval) + (set! road-section-position + (if (< road-section-position (* lane-length -1)) + (- (+ road-section-position lane-length) player-speed) + (- road-section-position player-speed))) + + (set! player-position (vec2+ player-position player-velocity))) - (set! player-position (vec2+ player-position player-velocity)) +(define (draw alpha) + (draw-road road-section-position road-start-y 5) + (draw-text "Turbo Racers!" + (vec2 260.0 (- (window-height (current-window)) 25))) + + (draw-text (format #f "Speed: ~smph" (* player-speed 5)) + (vec2 450.0 20.0)) - (draw-sprite selected-car player-position)) + (draw-sprite player-car player-position)) + + (define (key-press key modifiers repeat?) (if (eq? key 'w) - (set! player-velocity (vec2 0 car-steering-speed))) + (set! player-velocity (vec2 0 vehicle-steering-speed))) (if (eq? key 's) - (set! player-velocity (vec2 0 (* car-steering-speed -1)))) + (set! player-velocity (vec2 0 (* vehicle-steering-speed -1)))) (if (eq? key 'a) - (set! road-speed (max (- road-speed 1) road-min-speed))) + (set! player-speed (max (- player-speed 1) player-min-speed))) (if (eq? key 'd) - (set! road-speed (min (+ road-speed 1) road-max-speed))) + (set! player-speed (min (+ player-speed 1) player-max-speed))) ) (define (key-release key modifiers) |