^r4/lib/gui.txt^r4/lib/trace.txt
#accion
:pausa | n -- milisegundos de espera >r msec ( msec over - r <? )( drop ) rdrop 2drop ;
:rutina -600 ( 600 <=? )( dup 360 /. dup sin 6 * 5 *. 200 + swap 120 *. 200 + swap accion exec 1+ ) drop ;
:bola rojo 18 - 2dup 5 fcircle 10 pausa redraw amarillo 5 fcircle ;
:ruta 5 fcircle ;
:animacion 'ruta 'accion ! rutina 'bola 'accion ! rutina ;
: $ffff00 paper negro clrscr animacion show 'exit >esc< ;
^r4/lib/gui.txt
:getxy | n -- n x y
dup 360 /. dup sin 6 * 5 *. 200 + swap
120 *. 200 + swap ;
:ruta -600 ( 600 <=? )( getxy negro 5 fcircle 2 + ) drop ;
:bola -600 ( 600 <=? )( clrscr ruta getxy rojo 18 - 5 fcircle redraw 2 + ) drop ;
: $ffff00 paper clrscr bola show 'exit >esc< ;