aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGene Pasquet <dev@etenil.net>2024-05-18 15:30:10 +0100
committerGene Pasquet <dev@etenil.net>2024-05-18 15:30:10 +0100
commit747e622b6c99fedb964627a8222a092e47f34fac (patch)
treef97bf7a128ff68d2a199a06f2c2cbac18bb8f619
parent733b69847aee2e5df44d007c7f8c817e066fde2f (diff)
Draw player car in the centre of the lanes
-rw-r--r--turbo.scm44
1 files changed, 26 insertions, 18 deletions
diff --git a/turbo.scm b/turbo.scm
index 783160f..0430900 100644
--- a/turbo.scm
+++ b/turbo.scm
@@ -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)
+ )