( devices ) |0000 @System &vector $2 &pad $6 &r $2 &g $2 &b $2 |0020 @Screen &vector $2 &width $2 &height $2 &pad $2 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1 |0080 @Controller &vector $2 &button $1 &key $1 ( variables ) |0000 @slime $1 ( init ) |0100 ( -> ) @program ( theme ) #0daf .System/r DEO2 #02ff .System/g DEO2 #035f .System/b DEO2 ( vectors ) ;on-frame .Screen/vector DEO2 ( set origin ) .Screen/width DEI2 #01 SFT2 .Screen/x DEO2 .Screen/height DEI2 #01 SFT2 .Screen/y DEO2 ( defaults ) ;default-icn .Screen/addr DEO2 #41 .Screen/sprite DEO #0a .slime STZ BRK @on-frame ( -> ) #0a .slime STZ ;default-icn .Screen/addr DEO2 ( hold ctrl key to change slime color ) .Controller/button DEI #0f AND DUP #01 NEQ ,&no-ctrl JCN #05 .slime STZ &no-ctrl DUP #02 NEQ ,&no-alt JCN #0f .slime STZ &no-alt POP ( clear ) #40 .Screen/sprite DEO ( detect movement ) .Controller/button DEI DUP #10 AND #00 EQU ,&no-up JCN .Screen/y DEI2 #0001 SUB2 .Screen/y DEO2 ;up-icn .Screen/addr DEO2 &no-up DUP #20 AND #00 EQU ,&no-down JCN .Screen/y DEI2 INC2 .Screen/y DEO2 ;down-icn .Screen/addr DEO2 &no-down DUP #40 AND #00 EQU ,&no-left JCN .Screen/x DEI2 #0001 SUB2 .Screen/x DEO2 ;left-icn .Screen/addr DEO2 &no-left DUP #80 AND #00 EQU ,&no-right JCN .Screen/x DEI2 INC2 .Screen/x DEO2 ;right-icn .Screen/addr DEO2 &no-right POP ( draw face ) #41 .Screen/sprite DEO ( draw slime ) ;slime-icn .Screen/addr DEO2 .slime LDZ .Screen/sprite DEO BRK @default-icn 3c7e ffdb ffe7 7e3c @up-icn 2466 e7db ffff 7e3c @down-icn 3c7e ffff dbe7 6624 @left-icn 3c7e ef1f 1fef 7e3c @right-icn 3c7e f7f8 f8f7 7e3c @slime-icn 0000 183c 3c18 0000