Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

vb終極密碼(急求註解)20點

Private Sub Command1_Click()

Dim x As Integer

Randomize

po = Int(Rnd * 99)

x = InputBox(" 1 到 99 ", , " ")

u = 99

l = 1

st:

If po < x Then u = x

If po > x Then l = x

qqq = Str(l) + " 到 " + Str(u)

If po <> x Then

x = InputBox(qqq, , "")

GoTo st

Else

z = MsgBox("恭喜中獎!!")

End If

End Sub

就是這一大串

小弟最進要教這個作業 不過

老師要我副註解 各位大大幫個忙

ps 限只能玩10次要怎麼改

1 個解答

評分
  • 振輔
    Lv 5
    1 0 年前
    最佳解答

    Dim x As Integer

    '宣告 x 數字變數

    Randomize

    '重設亂數種子

    po = Int(Rnd * 99)

    '產生1個1-99之間的亂數整數給po, 被猜測值, 例如po=48

    x = InputBox(" 1 到 99 ", , " ")

    請輸入一個1-99的整數給x, 例如x=25

    u = 99

    '上限u=99

    l = 1

    '下限l=1

    st:

    'st標籤, 用來給後面要跳行用的

    If po < x Then u = x

    '如果答案po小於猜測值x, 上限u變成猜測值, 之前假設

    'po=48, x=25, 這裡並不成立, l=1, u=99

    If po > x Then l = x

    '如果答案po大於猜測值x, 下限l變成猜測值, 之前假設

    'po=48, x=25, 這裡成立, l=25, u=99

    qqq = Str(l) + " 到 " + Str(u)

    'qqq變成 25 到 99

    If po <> x Then

    '只要沒猜中, po不等於x

    x = InputBox(qqq, , "")

    '則繼續輸入猜測x

    GoTo st

    '跳到前面的標籤st:

    Else

    '猜中了po=x

    z = MsgBox("恭喜中獎!!")

    '跳現視窗 "恭喜中獎!!"

    End If

    '結束if

    如果要針對10次限制

    以下的''''''''''''''''部分

    Private Sub Command1_Click()

    Dim x As Integer

    ''''''''''''''''''''Dim times = 0

    Randomize

    po = Int(Rnd * 99)

    x = InputBox(" 1 到 99 ", , " ")

    u = 99

    l = 1

    st:

    '''''''''''''''''times=times+1

    ''''''''''''''''if times > 10 then

    '''''''''''''''z=msgbox("失敗! 您已經猜測10次了")

    '''''''''''''' goto ending

    If po < x Then u = x

    If po > x Then l = x

    qqq = Str(l) + " 到 " + Str(u)

    If po <> x Then

    x = InputBox(qqq, , "")

    GoTo st

    Else

    z = MsgBox("恭喜中獎!!")

    End If

    '''''''''''''''''''''ending:

    End Sub

    參考資料:
還有問題?馬上發問,尋求解答。