\ MYforth minimale per Ideone
\ ( senza movimenti grafici, ma con coordinate testuali)
variable x
variable y
10 x !
10 y !
: showQ ( -- )
cr ." Posizione di Q: (" x @ . ." , " y @ . ." )"
cr ." Mappa simbolica:"
cr ." N"
cr ." L Q D"
cr ." S"
;
: N ( -- ) y @ 1 - y ! ." Q si muove in alto" showQ ;
: S ( -- ) y @ 1 + y ! ." Q si muove in basso" showQ ;
: D ( -- ) x @ 1 + x ! ." Q si muove a destra" showQ ;
: L ( -- ) x @ 1 - x ! ." Q si muove a sinistra" showQ ;
\ Test di esempio
cr ." Inizio di MYforth"
showQ
N
D
S
L
XCBNWWZvcnRoIG1pbmltYWxlIHBlciBJZGVvbmUKXCAoc2VuemEgbW92aW1lbnRpIGdyYWZpY2ksIG1hIGNvbiBjb29yZGluYXRlIHRlc3R1YWxpKQoKdmFyaWFibGUgeAp2YXJpYWJsZSB5CgoxMCB4ICEKMTAgeSAhCgo6IHNob3dRICggLS0gKQogIGNyIC4iIFBvc2l6aW9uZSBkaSBROiAoIiB4IEAgLiAuIiAsICIgeSBAIC4gLiIgKSIKICBjciAuIiBNYXBwYSBzaW1ib2xpY2E6IgogIGNyIC4iICAgIE4iCiAgY3IgLiIgIEwgUSBEIgogIGNyIC4iICAgIFMiCjsKCjogTiAoIC0tICkgIHkgQCAxLSB5ICEgIC4iIFEgc2kgbXVvdmUgaW4gYWx0byIgICAgc2hvd1EgOwo6IFMgKCAtLSApICB5IEAgMSsgeSAhICAuIiBRIHNpIG11b3ZlIGluIGJhc3NvIiAgIHNob3dRIDsKOiBEICggLS0gKSAgeCBAIDErIHggISAgLiIgUSBzaSBtdW92ZSBhIGRlc3RyYSIgICBzaG93USA7CjogTCAoIC0tICkgIHggQCAxLSB4ICEgIC4iIFEgc2kgbXVvdmUgYSBzaW5pc3RyYSIgc2hvd1EgOwoKXCBUZXN0IGRpIGVzZW1waW8KY3IgLiIgSW5pemlvIGRpIE1ZZm9ydGgiCnNob3dRCk4KRApTCkwKCg==
stdout
Inizio di MYforth
Posizione di Q: (10 , 10 )
Mappa simbolica:
N
L Q D
SQ si muove in alto
Posizione di Q: (10 , 9 )
Mappa simbolica:
N
L Q D
SQ si muove a destra
Posizione di Q: (11 , 9 )
Mappa simbolica:
N
L Q D
SQ si muove in basso
Posizione di Q: (11 , 10 )
Mappa simbolica:
N
L Q D
SQ si muove a sinistra
Posizione di Q: (10 , 10 )
Mappa simbolica:
N
L Q D
S