桌面骰子
dicetra的Python项目详细描述
桌面RPG掷骰子管理器用于处理Standard Dice Notation
语法
下面是解析器生成器用来解释输入的语法。在
- statement :expr
expr PLUS exprexpr MINUS exprexpr TIMES exprexpr DIVIDE expr- expr :NUMBER
dicefunc- func :dice
dice KEEPHIGHdice KEEPLOWdice DROPHIGHdice DROPLOWdice KEEPHIGH NUMBERdice KEEPLOW NUMBERdice DROPHIGH NUMBERdice DROPLOW NUMBER- dice :NUMBER DIE NUMBER
NUMBER DIE TYPEPLUS : + MINUS : - TIMES : * DIVIDE : /
NUMBER: [0-9]+ TYPE: [fF%] DIE : d KEEPHIGH: kh KEEPLOW: kl DROPHIGH: dh DROPLOW: dl
示例
>>>fromdicetrayimportDicetray>>>Dicetray('1d20 + 3').roll()15>>>Dicetray('4d6dl').roll()10>>>Dicetray('4d6kh3').roll()12>>>d=Dicetray('2d20kh + 1d4 + 3')>>>d.result>>>d.diceset()>>>d.roll()18>>>d.dice{<Dice(d20):14>,<Dice(d20):14>,<Dice(d4):1>}>>>d.result18
- 项目
标签: