[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 406 賽馬

摘要:[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 406 賽馬

[Visual Basic 6.0] TQC 企業人才技能認證 Visual Basic 程式設計 - 406 賽馬

Dim 是否可下注 ' 為了避免 第一場的選項恢復後 影響 chkWin_Click 事件 將原本 扣的錢 再加回去
Private Sub chkWin_Click(Index As Integer) ' 是否打勾的事件
If 是否可下注 = True Then ' 當是可以下注的狀態才可用 否則不影響打勾事件
    If chkWin(Index).Value = 0 Then
        lblMoney.Caption = lblMoney.Caption + 10: chkWin(Index).Caption = Index + 1
        ' 不是打勾就把原本打勾扣的錢加回去 Caption 就是 Index + 1 自己研究
    Else
        lblMoney.Caption = lblMoney.Caption - 10: chkWin(Index).Caption = Index + 1 & "--> 10"
        ' 是打勾就扣錢 成為賭注的金額  Caption 就是 Index + 1 在加上 --> 10
    End If
End If
End Sub

Private Sub cmdStart_Click()
是否可下注 = False ' 為了避免 第一場的選項恢復後 影響 chkWin_Click 事件 將原本 扣的錢 再加回去
' 因為如果沒設一個開關 當 比賽比完後 有做一個 chkWin(J).Value = 0 就是把打勾的勾全部取消 的事件
' 這樣會影響  chkWin_Click(Index As Integer) 事件 沒設開關 他就會當作打勾被取消 又 + 錢 所以要設開關

' 隨機產生勝利的馬匹

勝利產生 = False ' 還沒有勝利的馬

Do Until 勝利產生 ' 直到有勝利的馬後停止
    For I = 0 To 3
        If imgHorse(I).Left >= 3960 Then   ' 勝利條件 某匹馬到達終點 終點題目應該會寫 範例先用 3960
            勝利產生 = True ' 有勝利的馬產生
            勝利的馬匹編號 = I ' 紀錄勝利的馬匹
            Exit For ' 跳離迴圈
        Else
            ' 這匹馬還沒到達終點
            ' 隨機跑 N 格
            imgHorse(I).Left = imgHorse(I).Left + Rnd * 100
        End If
    Next I
Loop


If chkWin(勝利的馬匹編號).Value = 1 Then ' 當隨機產生勝利的馬的賭注選項有打勾
    MsgBox "你贏了!": lblMoney.Caption = lblMoney.Caption + 30 ' 加 30 元
Else
    MsgBox "你輸了!" ' 不加錢 不扣錢
End If


' 恢復原始數據
For J = 0 To 3
    imgHorse(J).Left = 420 ' 原始位置
    chkWin(J).Value = 0 ' 取消打勾
    chkWin(J).Caption = J + 1 ' 編號
Next J

是否可下注 = True ' 數據恢復完成 就可以再次下賭注了
End Sub

406 詳細講義.rar

#0xDe 從分享中學習

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