自作ソフト「計算競走」を例に


[実践事例]

1 さいころを用意します

(1)LOGOwriter2ではそれぞれのページに「形のエディタ」が用意されています。
(2)ここでは,形のエディタ51番に”1の目”を作ります。
(3)52番には”2の目”,53番には”3の目”,54番には”4の目”,55番には”5の目”,56番には”6の目”を作ります。


2 何かキーを押すまでさいころが回り続けます

TO さいころ :数
IF :数 > 57 [MAKE ”数 51 SETSH :数 ST] 
 【説明/形のエディタが57番以上になると,51番に戻します。】
IF KEY? [進む] 
 【説明/何かキーを押すとさいころが止まり,”進む”という手順を実行します。】
SETSH :数 ST 
 【説明/指定された番号の形,つまり1から6までのさいころの目を出します。】
さいころ :数 + 1
 【説明/1の目の次は2の目,その次は3の目というように目の数を1つずつ増やします。これが繰り返されます。】
 【重要事項手順を定義するとき自分自身を定義の中に使うことをリカージョンといいます。
END


3 さいころの目だけ自動車を進めます

TO 進む
MAKE ”歩数 :数 − 50
 【説明/数で設定されたものは51から56までなので50を引いて,歩数を1から6までにします。】
PU FD :歩数 * 10
 【説明/実際に進む距離が1から6ドットでは少なすぎるので,10倍にします。】
END

4 自動車の進行方向などを制御しますsugoroku

TO 進む0T
TELL 0 FASTTURTLE MAKE "歩数 :数 - 50
PU FD :歩数 * 9 音
IF COLORUNDER = 1 [SETH 180 SETSH 37 PU SETPOS [-245 120]]
 【説明/自動車が青のコーナーに入ったとき,進行方向などを指定します。】
IF COLORUNDER = 3 [SETH 90 SETSH 38 PU SETPOS [-245 -88]]
IF COLORUNDER = 5 [SETH 0 SETSH 39 PU SETPOS [250 -88]]
IF COLORUNDER = 6 [SETH 270 SETSH 40 PU SETPOS [250 55]]
IF COLORUNDER = 13 [SETH 180 SETSH 37 PU SETPOS [-150 55]]
IF COLORUNDER = 14 [SETH 90 SETSH 38 PU SETPOS [-150 -25]]
IF COLORUNDER = 15 [ゴール]
 【説明/自動車が灰色のコーナーに入ったとき,”ゴール”と判断しその手順を実行します。】
IF COLORUNDER = 0 [BK :歩数 * 10]
IF TOUCHING? 0 2 [じゃんぷA ジャンプ0]
 【説明/自動車<カメ0号>が,カンガルー<カメ2号>とぶつかったとき,ジャンプの手順を実行します。】
IF TOUCHING? 0 3 [ ばっくA バック0]
IF TOUCHING? 0 4 [じゃんぷB ジャンプ0]
IF TOUCHING? 0 5 [ばっくB バック0]
IF TOUCHING? 0 6 [じゃんぷC ジャンプ0]
計算1T
END