Курсовая работа: Программирование в Бейсике
End
Sub
Private
Sub Timer1_Timer()
For
i = 0 To (AllBuses - 1)
Fuel(i)
= Fuel(i) - 1 / (1000 * Me.Timer1.Interval)
If i
= Misk Then Me.Label13.Caption = Str$(Fuel(Misk))
If
Fuel(i) = 0 Then Fuel(i) = 100
Next
i
For
z = 0 To (Combo1.ListCount - 1)
For
i = 0 To (arBusCount(z) - 1)
If z
<> 0 Then
a =
i
For
j = 0 To (z - 1)
i =
i + arBusCount(j)
Next
j
End
If
If
arStayPast(z, i) = (arStayCount(z) - 1) Then arStayEdit(z, i) = -1
If
arStayPast(z, i) = 0 Then arStayEdit(z, i) = 1
If
Val(arStayAbsciss(z, arStayPast(z, i))) > Val(arStayAbsciss(z, arStayPast(z,
i) + arStayEdit(z, i))) _
Then
arCoordEdit(z, i) = -1
If
Val(arStayAbsciss(z, arStayPast(z, i))) < Val(arStayAbsciss(z, arStayPast(z,
i) + arStayEdit(z, i))) _
Then
arCoordEdit(z, i) = 1
If
Val(arStayAbsciss(z, arStayPast(z, i))) = Val(arStayAbsciss(z, arStayPast(z, i)
+ arStayEdit(z, i))) _
Then
arCoordEdit(z, i) = 0
k(z,
i) = (Val(arStayOrdinata(z, arStayPast(z, i))) - Val(arStayOrdinata(z,
arStayPast(z, i) + arStayEdit(z, i)))) / _
(Val(arStayAbsciss(z,
arStayPast(z, i))) - Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z,
i))))
b(z,
i) = Val(arStayOrdinata(z, arStayPast(z, i))) - k(z, i) * Val(arStayAbsciss(z,
arStayPast(z, i)))
Dim
c As Single
c =
Cos(Atn(k(z, i)))
x0(z,
i) = x0(z, i) + c * 2 * arCoordEdit(z, i)
y0(z,
i) = k(z, i) * x0(z, i) + b(z, i)
Image1(i).Move
x0(z, i) - Image1(i).Width / 2, y0(z, i) - Me.Image1(i).Height / 2
If
arCoordEdit(z, i) = 1 Then
If
x0(z, i) >= Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _
Then
arStayPast(z, i) = arStayPast(z, i) + arStayEdit(z, i)
End
If
If
arCoordEdit(z, i) = -1 Then
If
x0(z, i) <= Val(arStayAbsciss(z, arStayPast(z, i) + arStayEdit(z, i))) _
Then
arStayPast(z, i) = arStayPast(z, i) + arStayEdit(z, i)
End
If
If z
<> 0 Then i = a
Next
i
Next
z
End
Sub
Public
Static Sub First_Stay_of_Buses()
For
z = 0 To (Combo1.ListCount - 1)
For
i = 0 To (arBusCount(z) - 1)
a =
i
If z
<> 0 Then
a =
i
For
j = 0 To (z - 1)
i =
i + arBusCount(j)
Next
j
End
If
If a
= 0 Then
arStayEdit(z,
i) = 1
arStayPast(z,
i) = 0
Me.Image1(i).Move
arStayAbsciss(z, 0) - Image1(i).Width / 2, _
arStayOrdinata(z,
0) - Image1(i).Height / 2
x0(z,
i) = Val(arStayAbsciss(z, 0)): y0(z, i) = Val(arStayOrdinata(z, 0))
'MsgBox
Str$(z) + " - " + Str$(i) + " - " + Str$(X0(z, i)) + "
" + Str$(Y0(z, i))
Else
arStayEdit(z,
i) = 1
arStayPast(z,
i) = arStayPast(z, i - 1) + 1
Me.Image1(i).Move
arStayAbsciss(z, arStayPast(z, i)) _
-
Image1(i).Width / 2, _
arStayOrdinata(z,
arStayPast(z, i)) _
-
Image1(i).Height / 2
x0(z,
i) = Val(arStayAbsciss(z, arStayPast(z, i)))
y0(z,
i) = Val(arStayOrdinata(z, arStayPast(z, i)))
'MsgBox
Str$(z) + " - " + Str$(i) + " - " + Str$(X0(z, i)) + "
" + Str$(Y0(z, i))
End
If
i =
a
1:
Next i
Next
z
End
Sub
|