[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 405 紅綠燈

摘要:[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 405 紅綠燈

[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 405 紅綠燈

Dim 目前的燈號, 目前的時間
Private Sub cmdEnd_Click()
End ' 結束
End Sub

Private Sub Form_Load()
Timer1.Interval = "1" ' 車子的速度
目前的燈號 = 0 ' 初始值先設為 綠燈
目前的時間 = 0 ' 一開始先設為 0 秒
End Sub

Private Sub Timer1_Timer()
'-----------------判斷是否為紅燈,是否可行走的部分-----------------
If picCars.Left >= 5400 Then picCars.Left = 480
' 當車子開過車道時 ( Left >= 5400 ),重新回到車道 ( Left = 480 )
If picCars.Left >= 2400 And picCars.Left <= 2760 Then '
' 當車子開到 Left 距離在 2400 ~ 2760 ( 題目規定 ) 時需要判斷紅綠燈
    If imgLight.Picture <> imgState(2).Picture Then ' 表示非紅燈時
        picCars.Left = picCars.Left + 300 ' ( 300 可以隨便改 指的是跑一次的距離 )
        ' 因為 imgLight.Picture = imgState(2).Picture 表示目前為 紅燈
    End If
Else
        picCars.Left = picCars.Left + 300 ' ( 300 可以隨便改 指的是跑一次的距離 )
        ' 不需要理會紅綠燈
End If
'-----------------判斷是否為紅燈,是否可行走的部分-----------------

'-----------------更改燈號、判斷是否更改燈號的部分-----------------
If 目前的時間 > hslInterval(目前的燈號).Value Then
' 假如目前的時間 大於 目前燈號所需等待的時間 即換燈號
    目前的燈號 = 目前的燈號 + 1 ' 換燈號
    If 目前的燈號 > 2 Then 目前的燈號 = 0 ' 因為只有三個燈號分別為 0 1 2 所當 > 2 時就回到 0
    imgLight.Picture = imgState(目前的燈號).Picture ' 更號燈號
    目前的時間 = 0 ' 更改完燈號後必須把時間歸零
End If
目前的時間 = 目前的時間 + 1 ' 慢慢調到適合的 時間拉到最大時每個燈號約停留 3 ~ 5 秒
'-----------------更改燈號、判斷是否更改燈號的部分-----------------
End Sub

 

#0xDe 從分享中學習

#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問