2017-08-08 60 views
-1
import random 


def d(n): 
    g = random.randint(1, n) 
    return g 


stat_list = {'vigor': (10 + 'fortitude'), 
     'fortitude': [d(6), d(6), d(6), d(6)], 
     'finesse': [d(6), d(6), d(6), d(6)], 
     'insight': [d(6), d(6), d(6), d(6)], 
     'guile': [d(6), d(6), d(6), d(6)]} 

我試着做了一個文字冒險的能力評分系統,我在做模仿怎麼會有我的角色爲d & d的得分在現實生活中。除了我自己介紹的有關python的小數量之外,我感到生鏽,所以我對自己的工作沒有太多線索。應用數學和變量字典

這應該表示六個骰子的四個獨立角色。需要重新投放的人員中,最低的擲骰子將被丟棄,其餘三人將再次被添加到一起。這將被計算並添加到玩家對象中,或者操作是否應該最初發生在玩家對象中?這些統計數據需要能夠在發生均衡時更改,並在稍後再循環到不同的操作中,所以這是否存儲在適當的結構中?我不知道如何繼續我已經擁有的東西,所以任何提示,提示或成品都會非常感謝!

+0

您是否考慮過使用函數來計算每個統計數據,然後使用結果更新字典? – idjaw

回答

0

您有很多問題。你應該將任務分解成單獨的步驟,這就是有經驗的程序員如何處理每個問題。這裏是一個答案,你的問題之一,功能推出5側口(面編號爲2-6)的四倍,並返回三個最佳輥的總和:

def roll5(): 
    x = [random.randint(2, 6) for _ in range(4)] 
    return sum(x) - min(x) 

BTW磨片,你的代碼禮物不會運行。表達式10 + 'fortitude'嘗試將字符串添加到一個不能完成的整數。