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/
.lsp/
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)
(var yellow nil) ; #ffe470
(var dark nil) ; #403830
(fn setup []
(size 640 480)
(textSize 100)
(set yellow (color 255 228 112))
(set dark (color 64 56 48)))
(textSize 100))
(local steps (* 24 60))
(local steps 1440)
(var step 0)
(lambda lpad [num] (if (< num 10) (.. "0" num) num))
(lambda time [num]
(let [hour (floor (map num 0 steps 0 24))
min (- num (* hour 60))]
(.. (lpad hour) ":" (lpad min))))
; (lambda lpad [num] (if (< num 10) (.. "0" num) num))
; (lambda time [num]
; (let [hour (floor (map num 0 steps 0 24))
; min (- num (* hour 60))]
; (.. (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 won false)
@ -29,15 +28,11 @@
(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)
current-color (lerpColor dark yellow (map color-step 0 half 0 1))]
(background current-color))
(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)))
(background 0 0 0)
(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

View file

@ -58,7 +58,7 @@
(def built-ins #{"fn" "local" "λ" "lambda" "require" "let" "+" "-" "/" "*" "<" ">" "<=" ">=" "not=" ".."
"var" "if" "when" "and" "or" "not" "do" "set" "each" "for" "while"
"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]
(reduce (fn [acc token]