因此,我正在學習visual basic,並且試圖製作一個移動橢圓形的計時器,並檢查是否觸及任何其他橢圓形,它會將一個整數。所以我有這個代碼,這有效,但我想知道如果我可以縮短它。如果你可以解釋你的代碼,因爲我很新,這將是偉大的!提前致謝!如何檢查橢圓形是否觸及任何其他橢圓形VB
Private Sub Timer4_Tick(sender As System.Object, e As System.EventArgs) Handles Timer4.Tick, Timer4.Tick
Dim Pos As Integer
If bb.Bounds.IntersectsWith(OvalShape1.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape2.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape3.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape4.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape5.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape6.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape7.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape8.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape9.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape10.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape11.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape12.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape13.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape14.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape15.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape16.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape17.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape18.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape19.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape20.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape21.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape22.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape23.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape24.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape25.Bounds) Then
Pos = -20
Else
Pos = 20
End If
If bb.Bounds.IntersectsWith(OvalShape26.Bounds) Then
Pos = -20
Else
Pos = 20
End If
bb.Top -= Pos
End Sub
縮短它的一種可能的方法是將所有的OvalShapes放入數組或List中並使用循環。 –
編程提示:*從不*複製和粘貼代碼。把它放在一個函數或變量中。 – buffjape