summaryrefslogtreecommitdiff
path: root/heyllama.scm
blob: 0a5a87f7b3259df3eb05fe8f763a5096b8ed4b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(use-modules (chickadee)
             (chickadee math vector)
             (chickadee render font)
             (chickadee render sprite)
             (chickadee render texture))


(define pos #v(100.0 140.0))
(define sprite #f)
(define ss 0)
(define time 0)
(define dir 0)

(define (draw alpha)
  (draw-sprite (texture-atlas-ref sprite (+ 12 ss))
               pos))

(define (update t)
  (set! time (+ time 1))
  (set! pos (vec2+ pos #v((* dir 2) 0.0)))
  (when (eq? (floor-remainder time 4) 0)
    (set! ss (floor-remainder (+ ss dir) 4))))

(define (load)
  (set! sprite (split-texture (load-image "llama_walk.png")
                              128 128)))

(define (key-press key scancode modifier repeat?)
  (case key
    ((q) (abort-game))
    ((right) (set! dir 1))
    ((left) (set! dir -1))))


(define (key-release key scancode modifier)
  (case key
    ((right) (set! dir 0))
    ((left) (set! dir 0))))


(run-game #:window-title "Hey Llama!"
          #:load load
          #:draw draw
          #:key-press key-press
          #:key-release key-release
          #:update update)