一時期、プログラミングの入門用の言語として、 LOGO というものが 注目されたことがあります。 その特徴であるタートル・グラフィックスを利用すれば、 まだ座標系の概念を学んでいないような小学生にも簡単に図形を描く プログラムが作れるということで「ちょっと面白い」話でした。
タートル・グラフィックスとは、 キャンバスの中を亀 (タートル) が歩く軌跡として図形を描画するというものです。 亀に伝えられる指令として、 「進む(指定された歩数だけ)」,「戻る(指定された歩数だけ)」, 「右に曲がる (指定された角度だけ)」,「左に曲がる (指定された角度だけ)」, 「ペンを下ろす」, 「ペンをあげる」などがあります。
例えば、「 歩進み、 右に曲がる」を4回繰り返すことで 1辺の長さが 歩の正方形を描くことができます。
REM TURTLE.BAS --- 亀よ正方形と正三角形を描いておくれ OPTION ANGLE DEGREES REM right(),left(),walk(),jump() の定義 SUB right(t) LET direction=direction-t END SUB SUB left(t) LET direction=direction+t END SUB SUB walk(s) PLOT LINES: xp,yp; LET xp=xp+s*COS(direction) LET yp=yp+s*SIN(direction) PLOT LINES: xp,yp END SUB SUB jump(s) LET xp=xp+s*COS(direction) LET yp=yp+s*COS(direction) PLOT LINES: xp,yp END SUB REM ----------- start ------------ LET L=100 SET WINDOW -1.1*L,1.1*L,-1.1*L,1.1*L REM 亀の現在位置 (xp,yp), 方向 direction (x軸となす角) LET direction=0 LET xp=0 LET yp=0 FOR i=1 TO 4 CALL walk(L) CALL right(90) NEXT i CALL right(10) SET LINE COLOR "red" FOR i=1 TO 3 CALL walk(L/2) CALL right(120) NEXT i END |