程式設計!!(BASIC)

由於我目前正在製作紙上RPG Game 需要計算調寶率等等..

而我手上有一台可以做<BASIC>的<哈電族PC-920>

so~~需要一些高手幫我做個程式(BASICㄉ)

如下:

有5個值A B C D E(5種寶)

輸入各出現機率後 隨機出現""

例:

75% ENTER"

1% ENTER"

5% ENTER"

19% ENTER"

0% ENTER"

出現A

就降^ ^ 請大大們幫忙

已更新項目:

no no no~~~

你好像搞錯ㄌ...

我是要他隨機出現喇><

改一下ㄅ

3Q

2 個解答

評分
  • 1 0 年前
    最佳解答

    程式首先要求輸入各寶物的出現機率,然後依此機率隨機產生200個寶物。

    寶物名稱可自行修改。

    這程式可在VB正常運作。

    程式的輸入/輸出指令,請換成適用於執行環境的指令。

    Sub Main()

    Dim cc(5) As String, s As String

    Dim p(5) As Byte, ptop(5) As Byte

    Dim i As Integer, k As Integer, n As Integer

    cc(1) = "刀"

    cc(2) = "箭"

    cc(3) = "槍"

    cc(4) = "彈"

    cc(5) = "毒"

    Do

    k = 0

    For i = 1 To 4

    p(i) = InputBox("請輸入寶物 " & cc(i) & " 的出現機率(%)")

    k = k + p(i)

    Next

    If k > 100 Then MsgBox ("機率總和大於100,請重新輸入。")

    Loop While k > 100

    p(5) = 100 - k

    s = ""

    For i = 1 To 5

    s = s & cc(i) & "=" & p(i) & "%" & vbNewLine

    Next

    MsgBox (s)

    ptop(1) = p(1)

    For i = 2 To 5

    ptop(i) = ptop(i - 1) + p(i)

    Next

    For i = 1 To 200

    k = Int(Rnd * 100) + 1

    For n = 1 To 5

    If k <= ptop(n) Then Exit For

    Next

    s = s & cc(n) & " "

    Next

    MsgBox (s)

    End Sub

  • C.M.H.
    Lv 5
    1 0 年前

    您說的方法是由您輸入掉寶的機率

    然後出現機率最高的是嗎??

    這直接使用比較的方法就好了!!

    '-------------------------

    DIM BOW(5) AS INTEGER

    BOW(1)=75:BOW(2)=1:BOW(3)=5:BOW(4)=19:BOW(5)=0

    BOW(0) = BOW(1)

    FOR I = 2 TO 5

    IF BOW(I) > BOW(0) THEN BOW(0) = BOW(I)

    NEXT I

    PRINT BOW(0)

    '-------------------------

    以上, 未經測試, 但大概不會有誤

    (公司這台電腦, 剛好沒有 VB....sorry)

    但是這個方法是出現機率最高的(如題)

    也就是說 其他的並不會出現

    這個設計方向, 對RPG GAME 來說

    可能會太呆版了, 您可能要修改一下, 設計方向

    希望您會滿意我的回答

    如果 有興趣可來信討論一下

    mienhsun@yahoo.com.tw

    我使用的是 VB6

    2007-05-27 00:56:13 補充:

    是我搞錯了嗎 (你的答按不是 A 嗎)

    你問別人好了!!!

    參考資料: me + 沒有 VB 的電腦
還有問題?馬上發問,尋求解答。