python的统计骰子库
python-dice的Python项目详细描述
Python骰子
python的统计骰子引擎
许可证
本作品以知识共享署名非商业共享4.0国际许可证授权 http://creativecommons.org/licenses/by-nc-sa/4.0/
安装
python -m pip install python_dice
来源于
https://github.com/markbrockettrobson/python_dice
用法
^{pr2}$from python_dice import PythonDiceInterpreter
interpreter = PythonDiceInterpreter()
program = [
"VAR a_name = d6 + 10",
"VAR b_name = d6 - 10"
]
a_name = interpreter.max(program)["a_name"]
b_name = interpreter.min(program)["b_name"]
print(a_name, b_name)
> 16 -9
interpreter = python_dice_interpreter.PythonDiceInterpreter()
program = [
"VAR save_roll = d20",
"VAR burning_arch_damage = 10d6 + 10",
"VAR pass_save = ( save_roll >= 10 ) ",
"VAR damage_half_on_save = burning_arch_damage // (pass_save + 1)",
"damage_half_on_save"
]
im = interpreter.get_histogram(program)
im.show()
语法
掷骰子<number of dice to roll>d<number of sides on the dice>
4d10
d6
1d%
30dF
2d[1,1,2,3,5,8]
缺少的骰子数将被视为1。
边数也可以是:
- %100英镑。在
- F代表命运骰子[-1,0,1]。在
- 自定义骰子,边值列表以逗号分隔,方括号在[]方括号中(允许尾随逗号)。在
- 取值范围d[1,2,3,4,5]==d[1-5]==d5
- d[-5,-4,-3,-2]==d[-5--2]==d[-2--5]
- 多等边d[1,1,1,1,1,1,1,8]的乘法器==d[1*7,8]
- d[1,1,1,2,2,3,3,4]==d[1-3*2,1,4]
保持下降
<number of dice to roll>d<number of sides on the dice>[k for keep d for drop]<number of dice to keep or drop>
2d20k1 roll 2 d20's take the highest 1
16d%k10 roll 16 d% keep the hightest 10
10d[-1,1]d5 roll 10 d[-1,1]'s drop the highest 5
2dFd1 roll 2 dF's drop the highest 1
如果要保留的骰子数设置在要掷出的骰子数之上,它将保留所有骰子。
如果掷骰子的数目等于或大于掷骰子的数目,它将总是掷0。
如果要保留的骰子数设置为零,则它将始终掷0。
如果掷骰子的数目被设置为零,那么它将被忽略。
设置变量
VAR lower_case_name = 1
VAR name = 4d20
加、减、乘、整数除法
VAR name = 1 + 2d3 - 3 * 4d2 // 5
括号
VAR out = 3 * ( 1 + 1d4 )
二元运算符
VAR a = 1d4 == 1
VAR b = 1d4 != 1
VAR c = 1d4 <= 2
VAR d = 1d4 < 3
VAR e = 1d4 >= 2
VAR f = 1d4 > 2
VAR g = (1d4 >= 2) AND !(1d20 == 2)
VAR h = (1d4 >= 2) OR !(1d20 == 2)
对于非二进制值,大于0的值被视为true。在
绝对值
VAR abs = ABS( 1d6 - 1d6 )
h4>MAX(4d7, 2d10)
MIN(50, d%)
标签:
- 项目
VAR abs = ABS( 1d6 - 1d6 )
MAX(4d7, 2d10)
MIN(50, d%)
- 项目
标签: