ほこり    作品例:ほこり.mwx

どうして、かべの近くにほこりがたまるのでしょう。
カメをほこりとして、たくさんつくって、ほこりのたまり方を考えよう。
<学習内容>
・カメオブジェクトをプログラムで新しく作る考え方
・ランダムな動き
・色判定

 部屋のかべの近くは、風が弱くなっています。

 を左クリックすると、カメがほこりとして40ひき生まれて、

 風に動くほこりのように動きます。

 しばらくすると、かべの近くに ほこりが多くなります。
<考え方>
・部屋のかべの近くは、風の流れが弱くなっています。風の強さを色の番号で表わし、かべの近くは色番号の小さな色をぬります。
・ほこりが風で動くように、カメが風でランダムに動くようにプログラムを入れます。
・風でランダムに動くプログラムを入れた新しいカメをプログラムで作ります。
<プログラミング> ほこりのもとを 左クリックしてはじめましょう。 


1.GO の手順を作ります。
(1)プログラムを始める最初の GO で行うプログラムを書きます。
 英語  日本語
to GO
everyone[remove who]
newt 40
everyone[clickon]
end
手順は GO
全部「無くす 今のカメ」
newt 40
全部「クリックオン」
終わり
 
 
(2)新しくカメを作るプログラムを書きます。
 英語  日本語
to newt :N
dotimes[NO :N]
[
newturtle word "kame :NO
setheading random 360
set who "rule G2
setpos list (random 201) - 100 random 200
st
]
end
to G2
output
[
forever
[
setcolor colorunder + 20 forward color / 10
 ifelse colorunder > 129
 [back color / 10 setheading random 360]
 [right (random 181) - 90]
]
]
end 
手順は newt :N
それぞれの数字をやる「NO :N」

新しいカメ ワード "kame :NO
向きは 乱数 360
設定する 今のカメ "めいれい G2
位置は リスト (乱数 201) - 100 乱数 200
出てくる

終わり
手順は G2
表示

無限に

色は 下の色 + 20 前へ 色 / 10
 もしどちらかを 下の色 > 129
 「後ろへ 色 / 10 向きは 乱数 360」
 「右へ (乱数 181) - 90」


終わり
 
(3)新しく作られるカメの中に書かれるプログラムを作る手順をもどり値のある手順として書きます。
 英語  日本語
to G2
output
[
forever
[
setcolor colorunder + 20 forward color / 10
 ifelse colorunder > 129
 [back color / 10 setheading random 360]
 [right (random 181) - 90]
]
]
end 
手順は G2
表示

無限に

色は 下の色 + 20 前へ 色 / 10
 もしどちらかを 下の色 > 129
 「後ろへ 色 / 10 向きは 乱数 360」
 「右へ (乱数 181) - 90」


終わり
 
output [  ] は、[  ]の中身を もどり値 として返します。
 部屋の中央は、80番の色、5番の色でぬられています。

 を左クリックすると、カメがほこりとして40ひき生まれます。

 ほこりとしてのカメは、部屋の中央では80番の色を使って動き、かべの近くは5番の色を使って動きます。

 しばらくすると、かべの近くに ほこりが多くなります。