diff options
author | Gene Pasquet <dev@etenil.net> | 2024-05-18 15:30:10 +0100 |
---|---|---|
committer | Gene Pasquet <dev@etenil.net> | 2024-05-18 15:30:10 +0100 |
commit | 747e622b6c99fedb964627a8222a092e47f34fac (patch) | |
tree | f97bf7a128ff68d2a199a06f2c2cbac18bb8f619 /turbo.scm | |
parent | 733b69847aee2e5df44d007c7f8c817e066fde2f (diff) |
Draw player car in the centre of the lanes
Diffstat (limited to 'turbo.scm')
-rw-r--r-- | turbo.scm | 44 |
1 files changed, 26 insertions, 18 deletions
@@ -1,6 +1,7 @@ (use-modules (chickadee graphics sprite) (chickadee) - (chickadee graphics viewport)) + (chickadee graphics viewport) + (ice-9 pretty-print)) (define lane-height 65) (define lane-length 200) @@ -8,12 +9,13 @@ (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 (draw-lanes startx starty num-lanes) +(define (draw-lanes x y num-lanes) (if (> num-lanes 0) (begin - (draw-sprite road-lane (vec2 startx starty)) - (draw-lanes startx (+ lane-height starty) (- num-lanes 1))))) + (draw-sprite road-lane (vec2 x y)) + (draw-lanes x (+ lane-height y) (- num-lanes 1))))) (define (draw-road-section startx starty num-lanes) (draw-sprite road-bottom (vec2 startx starty)) @@ -26,24 +28,30 @@ (draw-road-section startx starty num-lanes) (draw-road (+ startx lane-length) starty num-lanes)))) -(define vehicles (load-tileset "vehicles.png" 100 45)) +(define (lane-y num-lane) + (+ 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 the-car (texture-atlas-ref vehicles 0)) (define car-ref 0) (define car-pos-x 0.0) (define car-speed 4.0) +(define car-steering 4.0) + +(define player-initial-position + (vec2 (/ (- (window-width (current-window)) vehicle-length) 2) + (+ (lane-y 3) + (/ (- lane-height vehicle-height) 2)))) (define (draw alpha) - ; Draw the road - (draw-road 0 90 5) - - - (draw-sprite (texture-atlas-ref vehicles car-ref) (vec2 car-pos-x 100)) - (draw-text "Turbo racers!" (vec2 260.0 240.0)) - (set! car-pos-x (+ car-speed car-pos-x)) - (if (> car-pos-x (window-width (current-window))) - (begin - (set! car-pos-x 0.0) - (if (= car-ref 8) - (set! car-ref 0) - (set! car-ref (+ 1 car-ref)))))) + ;; Draw the road + (draw-road 0 road-start-y 5) + + (draw-text "Turbo Racers!" (vec2 260.0 (- (window-height (current-window)) 25))) + + (draw-sprite the-car player-initial-position) + ) |