我需要創建一個簡短的程序,允許用戶使用骰子滾動方法創建其統計信息。 它必須創造2個不同的屬性,一個力量屬性和一個技能屬性。爲了創造它們,它將擲出12面骰子,並擲出4面骰子。然後將12面骰子的值除以4強度屬性的骰子,然後重複該技能屬性。 就是這樣,我不知道該怎麼辦,並且非常感謝任何幫助。需要創建一個Python 2.7 Dice Roller,它決定了一個字符的統計信息
回答
我肯定會看看隨機模塊中的STDLIB here
你可以,那麼你可以做的東西,如:
import random
random.randint(1,12)
# which produces random number between 1-12
這應該讓你去。
@Volatility是更新!鍵盤男子。 – myusuf3 2013-02-17 03:28:42
是的,我有一些與此類似的東西,只是不確定是否要一起使用它,我可能應該把我剛纔的代碼放在那裏,並沒有那麼多,對此抱歉。謝謝。 :) – user2047609 2013-02-17 22:03:41
@ user2047609考慮接受它作爲答案,如果它解決了您的問題。 – myusuf3 2013-02-17 22:35:12
簡短的答案是(爲myusuf3指出):
stat = random.randint (1, 12)/random (1, 4)
或
stat = random.randint (1, 12) // random (1, 4)
您是否希望部分或沒有。 (d4,d6,d8,d10)等等,如果你以後會在遊戲中使用更多的骰子(攻擊擲骰,技能擲骰等),你可以創建自己的Die類(這肯定是矯枉過正你的榜樣,但我會勾畫它只是給你一個想法):
class Die:
def __init__ (self, sides):
self.sides = sides
def roll (self, times = 1):
return sum (random.randint (1, self.sides) for _ in range (times))
因此,在一開始,你可以實例化你的骰子:
d4 = Die (4)
d6 = Die (6)
d10 = Die (10)
現在,如果比如你用5d10製造傷害卷,你可以簡單地輸入:
damageRoll = d10.roll (5)
-
只是爲了進一步採取這樣的想法,你可以用ADnD損壞符號創建自己的武器種類(例如2d4 + 1的含義,用兩邊滾動兩個骰子,總結結果並加1):
import random
import re
class Weapon:
def __init__ (self, name, dmg):
self.name = name
self.dmg = dmg
self.dice, self.sides, mod, iMod = re.match ('(\\d*)d(\\d+)(?:([+-])(\\d+))?', dmg).groups()
self.dice = int (self.dice) if self.dice else 1
self.sides = int (self.sides)
self.mod = 0 if not iMod else int (iMod) * (-1 if mod == '-' else 1)
@property
def damage (self):
return max (0, sum (random.randint (1, self.sides) for x in range (self.dice)) + self.mod)
w = Weapon ('Bad ass katana', '4d10+8')
for i in range (10):
print (w.damage)
非常感謝你,我可能應該把我剛纔的代碼放在那裏,並沒有那麼多,對此抱歉。謝謝大家回答我的問題,非常有幫助。 – user2047609 2013-02-17 22:02:43
- 1. 用Java創建一個Dice Roller。幫我理解爲什麼這有效?
- 2. 讀取cookie信息,並創建一個字符串從它
- 3. Python 2.7 - 需要用另一個字符串替換「\ xampp ...」
- 4. python 2.7需要從一個文件中grep一個特定的字
- 5. 創建一個字符串常量,它包含了一個空字符
- 6. 需要有一個SQL查詢幫助在SQL表創建一個統計
- 7. 需要幫助在Python中創建一個原始套接字
- 8. 需要剝去字符,創建一個字符串
- 9. 通過python創建選定的mysql表的統計信息
- 10. SQL查詢幫助 - 需要基於另一個參數計算一個參數的統計信息
- 11. 需要幫助創建一個計時器在Python
- 12. 解決:我需要幫助創建一個簡單的C++字符串類
- 13. 獲取一個unicode輸入,需要它是一個字符串
- 14. 創建一個遞歸函數,它需要一個列表並使用它來創建一個列表
- 15. 在python中創建一個字符串
- 16. Python:創建一個Unicode字符串
- 17. 需要計算一個字符串中的德國字符php
- 18. 需要有關在gemfire中創建自定義統計信息的明確信息?
- 19. 從一個文件中計算字符和行python 2.7
- 20. 需要了解一個特定的信號客戶端代碼
- 21. 需要創建一個簡短輸出字符串
- 22. 需要幫助創建一個字符串
- 23. 創建一個推特機器人 - 需要幫助提取一個字符串
- 24. 需要一個字符串的查找一個解決方法的objectID foreignField
- 25. 在git中創建了一個不需要的分支,想擺脫它
- 26. 創建一個沒有任何目錄信息的Python zip
- 27. Python:創建一個獨特的變量來存儲信息
- 28. Python:代碼統計信息
- 29. 需要建議創建一個數字化票務准入系統
- 30. 需要創建一個FlashCard類型的ArrayList,它將值存儲爲一個String?
歡迎來到StackOverflow!你有什麼嘗試? (正如你所知,StackOverflow不會爲你寫一個項目)。 – 2013-02-17 03:15:47
聽起來像功課。顯示一些代碼! – 2013-02-17 05:25:10
'我不確定該怎麼去'。給你的建議只能是 - 學習一些關於Python和數學的書籍。關閉這個問題(因爲沒有人會在這裏回答你的問題),並創建一個新的問題,在那裏你給我們一部分**可能不工作**代碼,並描述你的問題。歡迎來到StackOverflow,祝你好運! – troyane 2013-03-09 11:02:09