init build

This commit is contained in:
Travis Shears 2026-05-27 20:08:19 +01:00
parent 66c5827ed7
commit c652c21213
Signed by: travisshears
GPG key ID: CB9BF1910F3F7469
4 changed files with 20 additions and 22 deletions

1
.gitignore vendored
View file

@ -3,3 +3,4 @@
.clj-kondo/ .clj-kondo/
.lsp/ .lsp/
tokens.clj tokens.clj
*.love

2
Makefile Normal file
View file

@ -0,0 +1,2 @@
build:
zip time-guesser.love main.lua main.min.fnl bootstrap.fnl fennel.lua L5.lua

View file

@ -1,22 +1,21 @@
(require :L5) (require :L5)
(var yellow nil) ; #ffe470
(var dark nil) ; #403830
(fn setup [] (fn setup []
(size 640 480) (size 640 480)
(textSize 100) (textSize 100))
(set yellow (color 255 228 112))
(set dark (color 64 56 48)))
(local steps (* 24 60)) (local steps 1440)
(var step 0) (var step 0)
(lambda lpad [num] (if (< num 10) (.. "0" num) num)) ; (lambda lpad [num] (if (< num 10) (.. "0" num) num))
(lambda time [num] ; (lambda time [num]
(let [hour (floor (map num 0 steps 0 24)) ; (let [hour (floor (map num 0 steps 0 24))
min (- num (* hour 60))] ; min (- num (* hour 60))]
(.. (lpad hour) ":" (lpad min)))) ; (.. (lpad hour) ":" (lpad min))))
(fn time [num]
(let [hour (floor (map num 0 steps 0 24))]
(: "%02d:%02d" :format hour (- num (* hour 60)))))
(var pause false) (var pause false)
(var won false) (var won false)
@ -29,15 +28,11 @@
(fn draw [] (fn draw []
(when (and (not won) (not pause)) (set step (+ step 1))) (when (and (not won) (not pause)) (set step (+ step 1)))
(when (>= step steps) (set step 0)) (when (>= step steps) (set step 0))
(let [ (background 0 0 0)
half (/ steps 2) (text (time step) 175 150)
color-step (if (> step half) (- half (- step half)) step) (text (time goal-time) 175 250)
current-color (lerpColor dark yellow (map color-step 0 half 0 1))] (when (and pause (= goal-time step)) (set won true))
(background current-color)) (when won (text "YOU WIN" 100 400)))
(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)))
{ {
:s setup :s setup

View file

@ -58,7 +58,7 @@
(def built-ins #{"fn" "local" "λ" "lambda" "require" "let" "+" "-" "/" "*" "<" ">" "<=" ">=" "not=" ".." (def built-ins #{"fn" "local" "λ" "lambda" "require" "let" "+" "-" "/" "*" "<" ">" "<=" ">=" "not=" ".."
"var" "if" "when" "and" "or" "not" "do" "set" "each" "for" "while" "var" "if" "when" "and" "or" "not" "do" "set" "each" "for" "while"
"true" "$1" "math.floor" "floor" "false" "nil" "size" "textSize" "background" "text" "random" "key" "true" "$1" "math.floor" "floor" "false" "nil" "size" "textSize" "background" "text" "random" "key"
":s" ":d" ":k" ":L5" "map" "color" "lerpColor"}) ":s" ":d" ":k" ":format" ":L5" "map" "color" "lerpColor"})
(defn collect-bindings [tokens] (defn collect-bindings [tokens]
(reduce (fn [acc token] (reduce (fn [acc token]