python的统计骰子库

python-dice的Python项目详细描述


Python骰子logo

codecovblacklicense

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()

image of 10d6 add 10 half round up if 1d20 greater than 10

语法

掷骰子
<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%)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Docker&SeleniumJava:无法在Docker容器上运行的chrome浏览器中上载图像/文件   在python中运行java命令   Java垃圾收集器异常行为   java java是否根据底层操作系统执行字节码级优化?   java是否可以休眠自定义查询返回映射而不是列表?   java Spring引导RabbitMQ接收器Jackson反序列化到POJO   apache flex在ActionScript3中创建对象相等“HashMap”作为java HashMap   java如何在Eclipse集成中切换JProfiler启动器   缓存JSP页面结果的java最佳实践?   java集成jaxb绑定文件,使用CXF生成基于WSDL的客户端   java为什么在上传操作结束之前,客户端没有检测到HttpServletResponse的PrintWriter内容?   java在接口内创建类和在类内创建接口有什么用   java向文件写入错误Android Studio   java合并多个RealmList并对结果列表排序?   谷歌API视觉java。lang.NoSuchMethodError   java如何使用逗号分别存储每个值,然后将它们存储到单独的数组中?