上のプログラムに PAINT を一つ加えると塗り潰しできますが、 MAT PLOT AREA を使って塗るにはどうしたら良いか、 少し工夫をしてみましょう。
亀に記憶力を持たせて、 星形の道を辿ってから、通過地点の座標を答えさせるという手もあります。 しかし高機能の亀はらしくないので、 今どこにいるかを尋ねる imadoko(x,y) というサブルーチンを作って、 それを使って描くようにしたのが次のプログラムです。
REM TURTLESTAR3.BAS --- タートルグラフィックスで星を描く OPTION ANGLE DEGREES REM right(),left(),walk(),jump() REM 初期化 SUB init LET direction=0 LET xp=0 LET yp=0 END SUB REM 右に曲がる SUB right(t) LET direction=direction-t END SUB REM 左に曲がる SUB left(t) LET direction=direction+t END SUB REM s歩ジャンプする SUB jump(s) LET xp=xp+s*COS(direction) LET yp=yp+s*SIN(direction) PLOT LINES: xp,yp END SUB REM s歩進む SUB walk(s) PLOT LINES: xp,yp; CALL jump(s) END SUB REM 現在位置を答える SUB imadoko(x,y) LET x=xp LET y=yp END SUB REM ----------- start ------------ LET L=100 SET WINDOW -2*L,2*L,-2*L,2*L CALL init DIM x(10),y(10) LET n=1 FOR i=1 TO 5 CALL walk(L) CALL imadoko(x(n),y(n)) LET n=n+1 CALL right(144) CALL walk(L) CALL imadoko(x(n),y(n)) LET n=n+1 CALL left(72) NEXT i SET AREA COLOR "red" MAT PLOT AREA : x,y END