2009/08/12(Wed) 09:51:24 編集(投稿者)
見える化
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
PictureBox1.Top = rn.Next(400) 'Y座標を0〜399で発生
'idouryou = rn.Next(10) '移動量を0〜9で発生★
If PictureBox1.Left > Me.Width - PictureBox1.Width Or PictureBox1.Left < 0 Then
idouryou *= -1 '上記の条件のときの移動方向を反転
End If
' 見える化
Console.WriteLine(String.Format("PictureBox1.Left = {0:000} idouryou = {1}", PictureBox1.Left, idouryou))
PictureBox1.Left += idouryou
End Sub
----- 上記を実行した結果(ただし Form1.Width = 300, PictureBox1.Width = 100)
PictureBox1.Left = 012 idouryou = 20
PictureBox1.Left = 032 idouryou = 20
PictureBox1.Left = 052 idouryou = 20
PictureBox1.Left = 072 idouryou = 20
PictureBox1.Left = 092 idouryou = 20
PictureBox1.Left = 112 idouryou = 20
PictureBox1.Left = 132 idouryou = 20
PictureBox1.Left = 152 idouryou = 20
PictureBox1.Left = 172 idouryou = 20
PictureBox1.Left = 192 idouryou = 20
PictureBox1.Left = 212 idouryou = -20
PictureBox1.Left = 192 idouryou = -20
PictureBox1.Left = 172 idouryou = -20
PictureBox1.Left = 152 idouryou = -20
PictureBox1.Left = 132 idouryou = -20
PictureBox1.Left = 112 idouryou = -20
PictureBox1.Left = 092 idouryou = -20
PictureBox1.Left = 072 idouryou = -20
PictureBox1.Left = 052 idouryou = -20
PictureBox1.Left = 032 idouryou = -20
PictureBox1.Left = 012 idouryou = -20
PictureBox1.Left = -008 idouryou = 20
PictureBox1.Left = 012 idouryou = 20
PictureBox1.Left = 032 idouryou = 20
PictureBox1.Left = 052 idouryou = 20
...
----- ★のコメントを外した場合
PictureBox1.Left = 012 idouryou = 5
PictureBox1.Left = 017 idouryou = 8
PictureBox1.Left = 025 idouryou = 5
PictureBox1.Left = 030 idouryou = 4
PictureBox1.Left = 034 idouryou = 7
(※中略)
PictureBox1.Left = 178 idouryou = 5
PictureBox1.Left = 183 idouryou = 6
PictureBox1.Left = 189 idouryou = 3
PictureBox1.Left = 192 idouryou = 3
PictureBox1.Left = 195 idouryou = 1
PictureBox1.Left = 196 idouryou = 1
PictureBox1.Left = 197 idouryou = 5
PictureBox1.Left = 202 idouryou = -6
PictureBox1.Left = 196 idouryou = 2
PictureBox1.Left = 198 idouryou = 7
PictureBox1.Left = 205 idouryou = -4
PictureBox1.Left = 201 idouryou = -9
PictureBox1.Left = 192 idouryou = 6
PictureBox1.Left = 198 idouryou = 4
PictureBox1.Left = 202 idouryou = -1
PictureBox1.Left = 201 idouryou = -6
PictureBox1.Left = 195 idouryou = 9
PictureBox1.Left = 204 idouryou = -8
PictureBox1.Left = 196 idouryou = 1
PictureBox1.Left = 197 idouryou = 8
PictureBox1.Left = 205 idouryou = -5
...
さて、うまく動いていたものが、なぜだめになったかわかるかな?
※出力させる位置を直した。