29 lines
660 B
Plaintext
29 lines
660 B
Plaintext
|
: blah ' seremit task-emit ! ;
|
||
|
blah
|
||
|
|
||
|
s" game.log" open seekend fdeactivate const LOGFILE
|
||
|
: emit-log ' fputc LOGFILE withfp ;
|
||
|
: atexit LOGFILE factivate close ;
|
||
|
|
||
|
: start-repl activate blah ' emit-log task-echo !
|
||
|
s" .:: J O R T H ( jean forth) ::." type cr
|
||
|
begin receive loadstring s" ok" type cr again ;
|
||
|
task const REPL
|
||
|
REPL start-repl
|
||
|
|
||
|
intern input.jor
|
||
|
input.jor loadfile
|
||
|
|
||
|
: worldpos>tilepos 4 >> swap 4 >> swap ;
|
||
|
: tilepos>mapindex mapsize drop * + ;
|
||
|
: tick
|
||
|
MOUSEL clicked if
|
||
|
0xf5 mousepos worldpos>tilepos tilepos>mapindex map + b!
|
||
|
then
|
||
|
tick-debounce
|
||
|
;
|
||
|
|
||
|
: draw
|
||
|
0 0 scroll
|
||
|
mousepos 4 draw-sprite
|
||
|
draw-screen ;
|