2017-09-04 20 views
0

我正在使用Python3。Python3 Python 3如何使用randint的結果來評估數組並拉出正確的選擇

我正在努力爲我的遊戲評估「技能檢查」,並且我想創建一個可以被所有標準技能檢測的功能。

我只是在現在最基本的層面,所以,我只是想創造功能本身,再後來,我想用我的數據庫,但現在:

  1. 我遊戲使用成功的「門檻」,其中,
  2. 當我擲骰子(這是一個紙筆紙遊戲,但處理骰子卷需要永遠),結果 -
  3. 比較它與數字範圍,並告訴你失敗/成功的程度。

期望的流動:

  1. 1-100被捲起。
  2. [忽略這個問題]:如果96+滾動,再滾動並添加結果。
  3. List/Array/Dictionary/Whatever(後面的DataBase)被檢查並且生成適當類型的成功。

我不知道什麼是:

  1. 如何構建這個名單?這應該是字典,列表還是元組?
  2. 一旦我產生了一個隨機數,該怎麼辦?我該如何處理這個數字以評估我的閾值清單?

閾值及其範圍:

Total Failure: 1-25, 
Partial Failure: 26-49, 
Partial Success: 50-74, 
Success: 75-100, 
Significant Success: 101-149, 
Astounding Success: 150-199, 
Epic Success: 200-249, 
Legendary: 250+ 
+0

你可以添加一個循序漸進的例子嗎? – stjernaluiht

+0

所以一步一步(謝謝ehacinorn)如下: - 實例化函數 - 函數包含if/elif格式的成功類型 - 名爲skill_check的設置變量,它是1之間的隨機整數和100. - skill_result調用函數並提供隨機整數的結果。 - 帶格式的打印語句,告訴我成功的數量和類型。 –

回答

0

我不會用一個數據結構,而是一個功能。

def type_of_success(n): 
    # input: integer random number rolled 
    # output: string 

    if not isinstance(n, int) or n < 1: 
     raise Exception('Not a valid number') 

    if n < 26: 
     return 'Total Failure' 
    elif n < 51: 
     return 'Partial Failure' 
    # etc 
+0

這太棒了 - 謝謝! –

+0

這是我用來拉我想要的結果。 'skill_resck ='skill_result}''skill_check = random.randint(1,101)' 'skill_result = type_of_success(skill_check)' ' –