Dim rn As Random = New Random()
If rn.NextDouble() > 0.4 Then
snowlocation.Add(New Point(rn.Next(PictureBox1.Width), -12))
snowsize.Add(rn.Next(4, 11))
著作権に抵触するのですべてのコードは掲載できかねるのですが、
上のコードで rn.NextDouble() > 0.4は、乱数が0.4以上ならば
と解釈できるのですが、
なぜ、この条件が必要なのか理解ができかねています。
少ない情報から読み取っていただけたら有り難いです
少し考えてみました。
rn.Next(PictureBox1.Width), -12の部分でPictureBox1の幅が0.4以上
でなければ処理を実行しないという解釈でOKでしょうか?
snowlocation変数が何型でsnowlocation.Add()がどういう処理なのかわかりません.
snowsizeも同様です.
これだけでは,何をしてるのかは分かりますが,
何をしたいのか,が分かりません.
よってコメントのしようがありません.
> 上のコードで rn.NextDouble() > 0.4は、乱数が0.4以上ならば
細かいですが,"以上"ではなく"より大きい"です.
> rn.Next(PictureBox1.Width), -12の部分でPictureBox1の幅が0.4以上
> でなければ処理を実行しないという解釈でOKでしょうか?
rn.NextDouble() が返す値は、『0.0 以上 1.0 未満』です。
rn.Next(PictureBox1.Width) は、『0 以上 PictureBox1.Width 未満』です。
変数名から勝手に想像すると:
・これは「雪を降らせるアニメーション」の一部である。
・snowlocation は雪の座標を表す List(Of Point) 型変数。
・snowsize は雪の大きさを表す List(Of Integer) 型変数。
で、その If 文の意味は、
・約4割の確率で、サイズ 4〜10 の範囲の雪を PictureBox 内に降らせる。
という意図では無いかな…。
> 著作権に抵触するのですべてのコードは掲載できかねるのですが、
転載(≠引用)するのであれば、著作権者の許諾が必要になるはずですが、
もしかして、「すべて掲載すると抵触するが、一部だけだと抵触しない」と
その著作権者本人に言われてしまった……とか?
> ・約4割の確率で、サイズ 4〜10 の範囲の雪を PictureBox 内に降らせる。
「約6割」の間違いです。m(_ _)m
魔界の仮面弁士さん、回答有り難うございます。
それにしても、これだけのコードから解読できるとは驚きです。
衷心より厚くお礼申し上げます。
今後ともご指導よろしくお願いします。
ツイート | ![]() |