mirror of
https://git.sr.ht/~rabbits/uxn
synced 2024-11-26 07:45:14 +00:00
65 lines
1.6 KiB
Tal
65 lines
1.6 KiB
Tal
( Move: Use controller arrows, leave a slime. )
|
|
|
|
|00 @System &vector $2 &pad $6 &r $2 &g $2 &b $2
|
|
|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
|
|
|80 @Controller &vector $2 &button $1 &key $1
|
|
|
|
|0000
|
|
|
|
@hello &x $2 &y $2
|
|
|
|
|0100
|
|
|
|
@on-reset ( -> )
|
|
( | theme )
|
|
#c0f4 .System/r DEO2
|
|
#c0fc .System/g DEO2
|
|
#c0f7 .System/b DEO2
|
|
( | vectors )
|
|
;on-frame .Screen/vector DEO2
|
|
( | set origin ) .Screen/width DEI2 #01 SFT2 .hello/x STZ2
|
|
.Screen/height DEI2 #01 SFT2 .hello/y STZ2
|
|
[ LIT2 16 -Screen/auto ] DEO
|
|
#00 on-frame/draw BRK
|
|
|
|
@on-frame ( -> )
|
|
.Controller/button DEI DUP ?{ POP BRK }
|
|
( | clear )
|
|
[ LIT2 40 -Screen/sprite ] DEO
|
|
( | movement )
|
|
DUP #10 AND #00 EQU ?{
|
|
.hello/y LDZ2k #0001 SUB2 ROT STZ2 }
|
|
DUP #20 AND #00 EQU ?{
|
|
.hello/y LDZ2k INC2 ROT STZ2 }
|
|
DUP #40 AND #00 EQU ?{
|
|
.hello/x LDZ2k #0001 SUB2 ROT STZ2 }
|
|
DUP #80 AND #00 EQU ?{
|
|
.hello/x LDZ2k INC2 ROT STZ2 }
|
|
&draw ( button -> )
|
|
.hello/x LDZ2 STH2k .Screen/x DEO2
|
|
.hello/y LDZ2 STH2k .Screen/y DEO2
|
|
;hello-chr .Screen/addr DEO2
|
|
[ LIT2 c1 -Screen/sprite ] DEOk
|
|
DEO
|
|
( draw slime ) STH2r .Screen/y DEO2
|
|
STH2r .Screen/x DEO2
|
|
;slime-icn .Screen/addr DEO2
|
|
get-slime .Screen/sprite DEOk
|
|
DEO
|
|
BRK
|
|
|
|
@get-slime ( button -- color )
|
|
#0f AND DUP #01 NEQ ?{ POP #05 JMP2r }
|
|
DUP #02 NEQ ?{ POP #0a JMP2r }
|
|
POP #0f JMP2r
|
|
|
|
@hello-chr [
|
|
0007 1820 2040 4044 0000 071f 1f3f 3f3b
|
|
00e0 1804 0402 0222 0000 e0f8 f8fc fcdc
|
|
4040 4423 2018 0700 3f3f 3b1c 1f07 0000
|
|
0202 22c4 0418 e000 fcfc dc38 f8e0 0000 ]
|
|
|
|
@slime-icn [
|
|
0000 0000 0003 0707 0000 0000 00c0 e0e0
|
|
0707 0300 0000 0000 e0e0 c000 0000 0000 ]
|
|
|