CLS width% := 20 init_spaces t := 0 REPEAT s$ := many_spaces$ (: width% * 2 + 2) add_marker (s$, SIN t, "*") add_marker (s$, SIN (t * 0.892), "=") add_marker (s$, SIN (t * 0.577), "+") PRINT s$ t := t + 0.075 UNTIL FALSE PROC add_marker (REF s$, pos, mark$) s$ (pos * width% + width% + 1) := mark$ ENDPROC add_marker PROC init_spaces // We can quickly print rows of spaces // using substrings of many_spaces$. many_spaces$ := " " FOR n := 1 TO 10 DO many_spaces$ := many_spaces$ + many_spaces$ NEXT n ENDPROC init_spaces