ダンゴムシ  作品例:ダンゴムシ.mwx

ダンゴムシは、かべにぶつかって左に曲がると、次にぶつかったときは反対の右に曲がることが知られています。ダンゴムシの進み方をプログラミングで考えてみましょう。
<学習内容>
・形のアニメーションの考え方
・-1で反転させる考え方
 
 
 でダンゴムシが迷路を進みます。
<考え方>
・かべをカメの形で作って、ダンゴムシとかべのしょうとつを判定します。
・ダンゴムシがかべとぶつかると前にかべが無くなるまで回転します。
・左回転した次は、右回転と逆に回転する方向を変えます。
・かべは、カメにかべの絵を入れて作ります。
<プログラミング> ダンゴムシのもとを 左クリックしてはじめましょう。 


1.手順を作ります。
(1)最初に実行する初期設定の手順を書きます。
英語  日本語
to GO
kame1、
clean pd
GO2
end
手順は GO
kame1、
絵だけ消す ペンを下ろす
GO2
終わり 
 
(2)くりかえしカメを進めるメインの手順を書きます。
英語  日本語
to GO2
forward 8 wait 1
if touching? "kame1 "kabe1
[
ifelse Q = 1 [R 1 setQ -1][R -1 setQ 1]
]
GO2
end
手順は GO2
前へ 8 待つ1
もし ぶつかったか ”kame1 ”kabe1

もしどちらかを Q = 1 「R 1 Qは -1」「R -1 Qは 1」

GO2
終わり 
 
 
(3)かべのカメ kabe1 にぶつかったときに実行する サブの手順を書きます。 
英語  日本語
to R :QR
back 20
right :QR * random 90
setshape (heading / 5) + 1
forward 20 wait 1
if not touching? "kame1 "kabe1[stop]
R :QR
end
手順は R :QR
後ろへ 20
右へ :QR × 乱数 90
形は (向き ÷ 5) + 1
前へ 20 待つ 1
もし 反対 ぶつかったか ”kame1 ”kabe1 「止まる」
R :QR
終わり 
 
・ right :QR * random 90 で、:QR-1 1 になることで、右回転と左回転ができます。
でカメが迷路を進みます。

 かべにふれると、前にかべがなくなるまで回転します。