init repo
This commit is contained in:
commit
174258c611
11 changed files with 11589 additions and 0 deletions
51
main.fnl
Normal file
51
main.fnl
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
(require :L5)
|
||||
|
||||
(fn setup []
|
||||
(size 640 480)
|
||||
(textSize 100))
|
||||
|
||||
(local colors {
|
||||
:yellow [255 228 112] ; #ffe470
|
||||
:dark [64 56 48] ; #403830
|
||||
})
|
||||
|
||||
(lambda remap [v in-min in-max out-min out-max]
|
||||
(+ out-min (* (/ (- v in-min) (- in-max in-min)) (- out-max out-min))))
|
||||
|
||||
(local steps (* 24 60))
|
||||
(var step 0)
|
||||
|
||||
(lambda lpad [num] (if (< num 10) (.. "0" num) num))
|
||||
(lambda time [num]
|
||||
(let [hour (floor (remap num 0 steps 0 24))
|
||||
min (- num (* hour 60))]
|
||||
(.. (lpad hour) ":" (lpad min))))
|
||||
|
||||
(var pause false)
|
||||
(var won false)
|
||||
(fn key-pressed []
|
||||
(when (= key "space") (set pause (not pause))))
|
||||
|
||||
(local goal-time (floor (random 0 steps)))
|
||||
|
||||
(fn draw []
|
||||
(when (and (not won) (not pause)) (set step (+ step 1)))
|
||||
(when (>= step steps) (set step 0))
|
||||
(let [
|
||||
half (/ steps 2)
|
||||
color-step (if (> step half) (- half (- step half)) step)
|
||||
color-fn #(+ (. colors.dark $1) (* (/ (- (. colors.yellow $1) (. colors.dark $1)) half) color-step))
|
||||
r (color-fn 1)
|
||||
g (color-fn 2)
|
||||
b (color-fn 3)]
|
||||
(background r g b))
|
||||
(text (time step) 175 150)
|
||||
(text (time goal-time) 175 250)
|
||||
(when (and pause (= goal-time step)) (set won true))
|
||||
(when won (text "YOU WIN" 100 400)))
|
||||
|
||||
{
|
||||
:setup setup
|
||||
:draw draw
|
||||
:key-pressed key-pressed
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue