⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 高速公路交通流模型
💻 FRM
📖 第 1 页 / 共 3 页
字号:
End Sub



Private Sub kuaiche10Timer_Timer()
kuaiche.Visible = True
If kuaiche.Left > -765 And kuaiche.Left - 765 * 3 > manche.Left Then
   kuaiche.Left = kuaiche.Left - 100
 ElseIf kuaiche.Left - 765 * 3 <= manche.Left And kuaiche.Left > manche.Left And manche.Left > -765 * 4 Then
        kuaiche.Left = manche.Left + 765 * 2
   ElseIf kuaiche.Left <= manche.Left Then
         kuaiche.Left = kuaiche.Left - 100
    ElseIf kuaiche.Left <= -765 Then
        kuaiche.Left = 15240
        kuaiche10Timer.Enabled = False
End If
End Sub
Private Sub manche10Timer_Timer()
manche.Visible = True
If manche.Left > -765 * 4 - 1 Then
   manche.Left = manche.Left - 40
Else
   manche.Left = 15240
   manche.Visible = False
   manche10Timer.Enabled = False
End If
End Sub

Private Sub liuliang_Change()
Label2.Caption = "当前车流量为:" & liuliang.Value & "辆每分钟"
If liuliang.Value = 100 Then
liuliang.Value = 0
End If
Select Case liuliang.Value
Case 0 To 33
红色.Visible = True
Smile3.Visible = True
黄色.Visible = False
Smile2.Visible = False
绿色.Visible = False
Smile1.Visible = False
Case 34 To 66
黄色.Visible = True
Smile2.Visible = True
绿色.Visible = False
Smile1.Visible = False
红色.Visible = False
Smile3.Visible = False
Case 67 To 100
绿色.Visible = True
Smile1.Visible = True
红色.Visible = False
Smile3.Visible = False
黄色.Visible = False
Smile2.Visible = False
End Select
End Sub

Private Sub mancheTimer10_Timer()
manche.Visible = True
If manche.Left > -765 * 4 - 1 Then
   manche.Left = manche.Left - 40
Else
   manche.Left = 15240
   manche.Visible = False
   manche10Timer.Enabled = False
End If
End Sub

Private Sub Speed_Change()
Label1.Caption = "你所控制车辆的当前速度值为:" & Speed.Value & "km/h"
End Sub
Private Sub Speed_Scroll()
Label1.Caption = "拖动中……"
End Sub

Private Sub Timer10_Timer()
zuoche(0).Visible = True
If zuoche(0).Left < 15240 Then
   zuoche(0).Left = zuoche(0).Left + 100
Else
   zuoche(0).Left = -765
   zuoche(0).Visible = False
End If
If (zuoche(0).Left + 765 >= zuoche(1).Left And zuoche(0).Left + 565 < zuoche(1).Left And zuoche(0).Top = zuoche(1).Top) Or (zuoche(0).Left + 765 >= zuoche(2).Left And zuoche(0).Left + 565 < zuoche(2).Left And zuoche(0).Top = zuoche(2).Top) Or (zuoche(0).Left + 765 >= zuoche(3).Left And zuoche(0).Left + 565 < zuoche(3).Left And zuoche(0).Top = zuoche(3).Top) Then
   zuoche(0).Top = 5640
   zuoche(0).Left = zuoche(0).Left + 100
   ElseIf (zuoche(0).Left + 565 >= zuoche(1).Left And zuoche(1).Left + 765 * 2 >= zuoche(0).Left) Or (zuoche(0).Left + 565 >= zuoche(2).Left And zuoche(2).Left + 765 * 2) Or (zuoche(0).Left + 565 >= zuoche(3).Left And zuoche(3).Left + 765 * 2 >= zuoche(0).Left) Then
    zuoche(0).Top = 5400
    zuoche(0).Left = zuoche(0).Left + 100
      ElseIf (zuoche(0).Left > zuoche(1).Left + 765 * 2 And zuoche(0).Left <= zuoche(1).Left + 765 * 2.5) Or (zuoche(0).Left > zuoche(2).Left + 765 * 2 And zuoche(0).Left <= zuoche(2).Left + 765 * 2.5) Or (zuoche(0).Left > zuoche(3).Left + 765 * 2 And zuoche(0).Left <= zuoche(3).Left + 765 * 2.5) Then
        zuoche(0).Top = 5640
        zuoche(0).Left = zuoche(0).Left + 100
          ElseIf (zuoche(0).Left >= zuoche(1).Left + 765 * 2.5) Or (zuoche(0).Left >= zuoche(2).Left + 765 * 2.5) Or (zuoche(0).Left >= zuoche(3).Left + 765 * 2.5) Then
            zuoche(0).Top = 5880
            zuoche(0).Left = zuoche(0).Left + 100
End If
'If zuoche(0).Left + 765 >= zuoche(2).Left And zuoche(0).Left + 565 < zuoche(2).Left And zuoche(0).Top = zuoche(2).Top Then
   'zuoche(0).Top = 5640
   'zuoche(0).Left = zuoche(0).Left + 100
   'ElseIf zuoche(0).Left + 565 >= zuoche(2).Left And zuoche(2).Left + 765 * 2 >= zuoche(0).Left Then
    'zuoche(0).Top = 5400
    'zuoche(0).Left = zuoche(0).Left + 100
      'ElseIf zuoche(0).Left > zuoche(2).Left + 765 * 2 And zuoche(0).Left <= zuoche(2).Left + 765 * 2.5 Then
        'zuoche(0).Top = 5640
        'zuoche(0).Left = zuoche(0).Left + 100
          'ElseIf zuoche(0).Left >= zuoche(2).Left + 765 * 2.5 Then
            'zuoche(0).Top = 5880
            'zuoche(0).Left = zuoche(0).Left + 100
'End If
'If zuoche(0).Left + 765 >= zuoche(3).Left And zuoche(0).Left + 565 < zuoche(3).Left And zuoche(0).Top = zuoche(3).Top Then
   'zuoche(0).Top = 5640
   'zuoche(0).Left = zuoche(0).Left + 100
   'ElseIf zuoche(0).Left + 565 >= zuoche(3).Left And zuoche(3).Left + 765 * 2 >= zuoche(0).Left Then
    'zuoche(0).Top = 5400
    'zuoche(0).Left = zuoche(0).Left + 100
      'ElseIf zuoche(0).Left > zuoche(3).Left + 765 * 2 And zuoche(0).Left <= zuoche(3).Left + 765 * 2.5 Then
        'zuoche(0).Top = 5640
        'zuoche(0).Left = zuoche(0).Left + 100
          'ElseIf zuoche(0).Left >= zuoche(3).Left + 765 * 2.5 Then
            'zuoche(0).Top = 5880
            'zuoche(0).Left = zuoche(0).Left + 100
'End If
If zuoche(0).Left > 15000 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer11_Timer()
zuoche(1).Visible = True
If zuoche(1).Left < 15240 Then
   zuoche(1).Left = zuoche(1).Left + 70
Else
   zuoche(1).Left = -765
   zuoche(1).Visible = False
End If
If (zuoche(1).Left + 765 >= zuoche(2).Left And zuoche(1).Left + 565 < zuoche(2).Left And zuoche(1).Top = zuoche(2).Top) Or (zuoche(1).Left + 765 >= zuoche(3).Left And zuoche(1).Left + 565 < zuoche(3).Left And zuoche(1).Top = zuoche(3).Top) Then
   zuoche(1).Top = 5640
   zuoche(1).Left = zuoche(1).Left + 70
   ElseIf (zuoche(1).Left + 565 >= zuoche(2).Left And zuoche(2).Left + 765 * 2 >= zuoche(1).Left) Or (zuoche(1).Left + 565 >= zuoche(3).Left And zuoche(3).Left + 765 * 2 >= zuoche(1).Left) Then
    zuoche(1).Top = 5400
    zuoche(1).Left = zuoche(1).Left + 70
      ElseIf (zuoche(1).Left > zuoche(2).Left + 765 * 2 And zuoche(1).Left <= zuoche(2).Left + 765 * 2.5) Or (zuoche(1).Left > zuoche(3).Left + 765 * 2 And zuoche(1).Left <= zuoche(3).Left + 765 * 2.5) Then
        zuoche(1).Top = 5640
        zuoche(1).Left = zuoche(1).Left + 70
          ElseIf (zuoche(1).Left >= zuoche(2).Left + 765 * 2.5) Or (zuoche(1).Left >= zuoche(3).Left + 765 * 2.5) Then
            zuoche(1).Top = 5880
            zuoche(1).Left = zuoche(1).Left + 70
End If
'If zuoche(1).Left + 765 >= zuoche(3).Left And zuoche(1).Left + 565 < zuoche(3).Left And zuoche(1).Top = zuoche(3).Top Then
   'zuoche(1).Top = 5640
   'zuoche(1).Left = zuoche(1).Left + 70
   'ElseIf zuoche(1).Left + 565 >= zuoche(3).Left And zuoche(3).Left + 765 * 2 >= zuoche(1).Left Then
    'zuoche(1).Top = 5400
    'zuoche(1).Left = zuoche(1).Left + 70
    '  ElseIf zuoche(1).Left > zuoche(3).Left + 765 * 2 And zuoche(1).Left <= zuoche(3).Left + 765 * 2.5 Then
    '    zuoche(1).Top = 5640
    '    zuoche(1).Left = zuoche(1).Left + 70
    '      ElseIf zuoche(1).Left >= zuoche(3).Left + 765 * 2.5 Then
    '        zuoche(1).Top = 5880
    '        zuoche(1).Left = zuoche(1).Left + 70
'End If
If zuoche(1).Left > 15000 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer12_Timer()
zuoche(2).Visible = True
If zuoche(2).Left < 15240 Then
   zuoche(2).Left = zuoche(2).Left + 50
Else
   zuoche(2).Left = -765
   zuoche(2).Visible = False
End If
If zuoche(2).Left + 765 >= zuoche(3).Left And zuoche(2).Left + 565 < zuoche(3).Left And zuoche(2).Top = zuoche(3).Top Then
   zuoche(2).Top = 5640
   zuoche(2).Left = zuoche(2).Left + 50
   ElseIf zuoche(2).Left + 565 >= zuoche(3).Left And zuoche(3).Left + 765 * 2 >= zuoche(2).Left Then
    zuoche(2).Top = 5400
    zuoche(2).Left = zuoche(2).Left + 50
      ElseIf zuoche(2).Left > zuoche(3).Left + 765 * 2 And zuoche(2).Left <= zuoche(3).Left + 765 * 2.5 Then
        zuoche(2).Top = 5640
        zuoche(2).Left = zuoche(2).Left + 50
          ElseIf zuoche(2).Left >= zuoche(3).Left + 765 * 2.5 Then
            zuoche(2).Top = 5880
            zuoche(2).Left = zuoche(2).Left + 50
End If
If zuoche(2).Left > 15000 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub

Private Sub Timer13_Timer()
zuoche(3).Visible = True
If zuoche(3).Left < 15240 Then
   zuoche(3).Left = zuoche(3).Left + 30
Else
   zuoche(3).Left = -765
   zuoche(3).Visible = False
End If
If zuoche(3).Left > 15000 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer20_Timer()
youche(0).Visible = True
If youche(0).Left > -765 Then
   youche(0).Left = youche(0).Left - 100
Else
   youche(0).Left = 15240
   youche(0).Visible = False
End If
If (youche(0).Left - 765 <= youche(1).Left And youche(0).Left - 565 > youche(1).Left And youche(0).Top = youche(1).Top) Or (youche(0).Left - 765 <= youche(2).Left And youche(0).Left - 565 > youche(2).Left And youche(0).Top = youche(2).Top) Or (youche(0).Left - 765 <= youche(3).Left And youche(0).Left - 565 > youche(3).Left And youche(0).Top = youche(3).Top) Then
   youche(0).Top = 4680
   youche(0).Left = youche(0).Left - 100
   ElseIf (youche(0).Left - 565 <= youche(1).Left And youche(1).Left - 765 * 2 <= youche(0).Left) Or (youche(0).Left - 565 <= youche(2).Left And youche(2).Left - 765 * 2 <= youche(0).Left) Or (youche(0).Left - 565 <= youche(3).Left And youche(3).Left - 765 * 2 <= youche(0).Left) Then
    youche(0).Top = 4920
    youche(0).Left = youche(0).Left - 100
      ElseIf (youche(0).Left < youche(1).Left - 765 * 2 And youche(0).Left >= youche(1).Left - 765 * 2.5) Or (youche(0).Left < youche(2).Left - 765 * 2 And youche(0).Left >= youche(2).Left - 765 * 2.5) Or (youche(0).Left < youche(3).Left - 765 * 2 And youche(0).Left >= youche(3).Left - 765 * 2.5) Then
        youche(0).Top = 4680
        youche(0).Left = youche(0).Left - 100
          ElseIf (youche(0).Left <= youche(1).Left - 765 * 2.5) Or (youche(0).Left <= youche(2).Left - 765 * 2.5) Or (youche(0).Left <= youche(3).Left - 765 * 2.5) Then
            youche(0).Top = 4440
            youche(0).Left = youche(0).Left - 100
End If
'If youche(0).Left - 765 <= youche(2).Left And youche(0).Left - 565 > youche(2).Left And youche(0).Top = youche(2).Top Then
'   youche(0).Top = 4680
'   youche(0).Left = youche(0).Left - 100
'   ElseIf youche(0).Left - 565 <= youche(2).Left And youche(2).Left - 765 * 2 <= youche(0).Left Then
'    youche(0).Top = 4920
'    youche(0).Left = youche(0).Left - 100
 '     ElseIf youche(0).Left < youche(2).Left - 765 * 2 And youche(0).Left >= youche(2).Left - 765 * 2.5 Then
'        youche(0).Top = 4680
'        youche(0).Left = youche(0).Left - 100
'          ElseIf youche(0).Left <= youche(2).Left - 765 * 2.5 Then
'            youche(0).Top = 4440
'            youche(0).Left = youche(0).Left - 100
'End If
'If youche(0).Left - 765 <= youche(3).Left And youche(0).Left - 565 > youche(3).Left And youche(0).Top = youche(3).Top Then
 '  youche(0).Top = 4680
 '  youche(0).Left = youche(0).Left - 100
 '  ElseIf youche(0).Left - 565 <= youche(3).Left And youche(3).Left - 765 * 2 <= youche(0).Left Then
  '  youche(0).Top = 4920
   ' youche(0).Left = youche(0).Left - 100
   '   ElseIf youche(0).Left < youche(3).Left - 765 * 2 And youche(0).Left >= youche(3).Left - 765 * 2.5 Then
   '     youche(0).Top = 4680
  '      youche(0).Left = youche(0).Left - 100
  '        ElseIf youche(0).Left <= youche(3).Left - 765 * 2.5 Then
  '          youche(0).Top = 4440
  '          youche(0).Left = youche(0).Left - 100
'End If
If youche(0).Left < 0 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer21_Timer()
youche(1).Visible = True
If youche(1).Left > -765 Then
   youche(1).Left = youche(1).Left - 80
Else
   youche(1).Left = 15240
   youche(1).Visible = False
End If
If (youche(1).Left - 765 <= youche(2).Left And youche(1).Left - 565 > youche(2).Left And youche(1).Top = youche(2).Top) Or (youche(1).Left - 765 <= youche(3).Left And youche(1).Left - 565 > youche(3).Left And youche(1).Top = youche(3).Top) Then
   youche(1).Top = 4680
   youche(1).Left = youche(1).Left - 80
   ElseIf (youche(1).Left - 565 <= youche(2).Left And youche(2).Left - 765 * 2 <= youche(1).Left) Or (youche(1).Left - 565 <= youche(3).Left And youche(3).Left - 765 * 2 <= youche(1).Left) Then
    youche(1).Top = 4920
    youche(1).Left = youche(1).Left - 80
      ElseIf (youche(1).Left < youche(2).Left - 765 * 2 And youche(1).Left >= youche(2).Left - 765 * 2.5) Or (youche(1).Left < youche(3).Left - 765 * 2 And youche(1).Left >= youche(3).Left - 765 * 2.5) Then
        youche(1).Top = 4680
        youche(1).Left = youche(1).Left - 80
          ElseIf (youche(1).Left <= youche(2).Left - 765 * 2.5) Or (youche(1).Left <= youche(3).Left - 765 * 2.5) Then
            youche(1).Top = 4440
            youche(1).Left = youche(1).Left - 80
End If
'If youche(1).Left - 765 <= youche(3).Left And youche(1).Left - 565 > youche(3).Left And youche(1).Top = youche(3).Top Then
 '  youche(1).Top = 4680
  ' youche(1).Left = youche(1).Left - 80
  ' ElseIf youche(1).Left - 565 <= youche(3).Left And youche(3).Left - 765 * 2 <= youche(1).Left Then
  '  youche(1).Top = 4920
  '  youche(1).Left = youche(1).Left - 80
  '    ElseIf youche(1).Left < youche(3).Left - 765 * 2 And youche(1).Left >= youche(3).Left - 765 * 2.5 Then
  '      youche(1).Top = 4680
   '     youche(1).Left = youche(1).Left - 80
   '       ElseIf youche(1).Left <= youche(3).Left - 765 * 2.5 Then
    '        youche(1).Top = 4440
    '        youche(1).Left = youche(1).Left - 80
'End If
If youche(1).Left < 0 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer22_Timer()
youche(2).Visible = True
If youche(2).Left > -765 Then
   youche(2).Left = youche(2).Left - 60
Else
   youche(2).Left = 15240
   youche(2).Visible = False
End If
If youche(2).Left - 765 <= youche(3).Left And youche(2).Left - 565 > youche(3).Left And youche(2).Top = youche(3).Top Then
   youche(2).Top = 4680
   youche(2).Left = youche(2).Left - 60
   ElseIf youche(2).Left - 565 <= youche(3).Left And youche(3).Left - 765 * 2 <= youche(2).Left Then
    youche(2).Top = 4920
    youche(2).Left = youche(2).Left - 60
      ElseIf youche(2).Left < youche(3).Left - 765 * 2 And youche(2).Left >= youche(3).Left - 765 * 2.5 Then
        youche(2).Top = 4680
        youche(2).Left = youche(2).Left - 60
          ElseIf youche(2).Left <= youche(3).Left - 765 * 2.5 Then
            youche(2).Top = 4440
            youche(2).Left = youche(2).Left - 60
End If
If youche(2).Left < 0 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer23_Timer()
youche(3).Visible = True
If youche(3).Left > -765 Then
   youche(3).Left = youche(3).Left - 40
Else
   youche(3).Left = 15240
   youche(3).Visible = False
End If
If youche(3).Left < 0 Then
liuliang.Value = liuliang.Value + 1
End If
End Sub
Private Sub Timer24_Timer()
youche(4).Visible = True
If youche(4).Left > -765 Then
   youche(4).Left = youche(4).Left - 100
Else
   youche(4).Left = 15240
   youche(4).Visible = False
   Timer24.Enabled = False
End If
If youche(4).Left - 765 <= youche(1).Left And youche(4).Left - 565 > youche(1).Left And youche(4).Top = youche(1).Top Then
   youche(4).Top = 4680
   youche(4).Left = youche(4).Left - 100
   ElseIf youche(4).Left - 565 <= youche(1).Left And youche(1).Left - 565 <= youche(4).Left Then
    youche(4).Top = 4920
    youche(4).Left = youche(4).Left - 100
      ElseIf youche(4).Left < youche(1).Left - 565 And youche(4).Left >= youche(1).Left - 765 Then
        youche(4).Top = 4680
        youche(4).Left = youche(4).Left - 100
          ElseIf youche(4).Left <= youche(1).Left - 765 Then
            youche(4).Top = 4440
            youche(4).Left = youche(4).Left - 100
End If
If youche(4).Left - 765 <= youche(2).Left And youche(4).Left - 565 > youche(2).Left And youche(4).Top = youche(2).Top Then
   youche(4).Top = 4680
   youche(4).Left = youche(4).Left - 100
   ElseIf youche(4).Left - 565 <= youche(2).Left And youche(2).Left - 565 <= youche(4).Left Then
    youche(4).Top = 4920
    youche(4).Left = youche(4).Left - 100
      ElseIf youche(4).Left < youche(2).Left - 565 And youche(4).Left >= youche(2).Left - 765 Then
        youche(4).Top = 4680
        youche(4).Left = youche(4).Left - 100
          ElseIf youche(4).Left <= youche(2).Left - 765 Then
            youche(4).Top = 4440
            youche(4).Left = youche(4).Left - 100
End If
If youche(4).Left - 765 <= youche(3).Left And youche(4).Left - 565 > youche(3).Left And youche(4).Top = youche(3).Top Then
   youche(4).Top = 4680
   youche(4).Left = youche(4).Left - 100
   ElseIf youche(4).Left - 565 <= youche(3).Left And youche(3).Left - 565 <= youche(4).Left Then
    youche(4).Top = 4920

    youche(4).Left = youche(4).Left - 100
      ElseIf youche(4).Left < youche(3).Left - 565 And youche(4).Left >= youche(3).Left - 765 Then
        youche(4).Top = 4680

        youche(4).Left = youche(4).Left - 100
          ElseIf youche(4).Left <= youche(3).Left - 765 Then
            youche(4).Top = 4440
            youche(4).Left = youche(4).Left - 100
End If
End Sub
Private Sub shoukongcheTimer_Timer()
shoukongche.Visible = True
If shoukongche.Left > -765 * 4 - 1 Then
   shoukongche.Left = shoukongche.Left - Speed.Value
Else
   shoukongche.Left = 15240
   shoukongche.Visible = False
   'shoukongcheTimer.Enabled = False
End If
'If shoukongche.Left < 0 Then
'liuliang.Value = liuliang.Value + 1
'End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -