Last active
November 26, 2020 19:40
-
-
Save saikyun/c3df632ede6bad3eb12c3cede7ba67ae to your computer and use it in GitHub Desktop.
repling with jaylib
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# build jaylib (or use it as a dependency if you can) | |
# run `janet main.janet` | |
# in another terminal, run `janet main.janet connect` | |
# then modify and eval the `(defn frame ...)` form | |
# then run `(set frame-f frame)` | |
(use ./build/jaylib) | |
(import spork/netrepl) | |
(var font nil) | |
(var loop-fiber nil) | |
(var frame-f nil) | |
(defn frame | |
[] | |
(begin-drawing) | |
(draw-fps 300 10) | |
(clear-background [0 0 0]) | |
(let [[x y] (get-mouse-position)] | |
(draw-text-ex font "hail friend" [30 30] 40 2 :red) | |
(draw-circle-gradient x y 31.4 :lime :red) | |
(draw-poly [500 200] 5 40 0 :magenta) | |
(draw-line-bezier | |
[(- x 100) y] | |
[(+ x 100) (+ y 50)] | |
4 :pink) | |
(draw-line-ex | |
[x (- y 10)] | |
[x (+ y 10)] | |
4 :sky-blue) | |
(draw-line-strip | |
[[x 0] [x 100] [50 y] [10 180]] | |
:ray-white)) | |
(end-drawing)) | |
(defn loop-it | |
[] | |
(set frame-f frame) | |
(set loop-fiber | |
(ev/call (fn [] (loop [i :range [0 10000]] | |
(when (key-pressed? :q) | |
(close-window) | |
(error "QUIT!")) | |
(frame-f) | |
(ev/sleep 0.01)))))) | |
(defn start | |
[] | |
(init-window 800 600 "Test Game") | |
(set font (load-font-ex "Texturina-VariableFont_opsz,wght.ttf" 80 | |
(string/bytes "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"))) | |
(set-target-fps 60) | |
(loop-it)) | |
(def env (fiber/getenv (fiber/current))) | |
(defn main [& args] | |
(if (= (get args 1) "connect") | |
(netrepl/client "127.0.0.1" "9000" "bob") | |
(do (netrepl/server "127.0.0.1" "9000" env) | |
(start)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment