win/loss screens and music

This commit is contained in:
Jakub 2026-05-24 16:07:20 +08:00
parent 6940b3816d
commit 277a040f5f
10 changed files with 273 additions and 25 deletions

66
src/lose-screen.scm Normal file
View file

@ -0,0 +1,66 @@
(module (lose-screen) ()
(import scheme
(chicken base)
(chicken module)
raylib
(imugi core)
(imugi input)
(imugi scene)
(imugi math)
(bd ui))
(export lose-screen)
(define (lose-screen arena-scene menu-scene)
(play-sound (load-sound "../res/music/Lose.wav"))
(scene
push-actions
draw-labels
handle-buttons
(entity
(title
(vec
0
(/ (cdr (*window-size*))
6))
"You have lost!"
centered: (cons #t #f)))
(entity
(button
;; Roughly centered.
;; these are ugly, hardcoded values.
(vec (- (/ (car (*window-size*))
2)
50)
(- (/ (car (*window-size*))
2)
100))
;; Nested footer text
(footer
(vec 0 0) ;; this vec doesn't matter, it's overwritten internally
"Play Again?")
(lambda ()
((arena-scene menu-scene)))))
(entity
(button
;; Roughly centered.
;; these are ugly, hardcoded values.
(vec (- (/ (car (*window-size*))
2)
50)
(- (/ (car (*window-size*))
2)
170))
;; Nested footer text
(footer
(vec 0 0) ;; this vec doesn't matter, it's overwritten internally
"Back to Menu")
(lambda ()
((menu-scene
(lambda ()
((arena-scene menu-scene))))))))))
)