Obsidian 插件:Dice Roller 为你的笔记添加一点随机性
概述
如果你喜欢玩像游戏或者桌游,那么你肯定玩过或者看过,游戏环节或者角色可以获得一些类似骰子的道具,每次摇动骰子都会获得一些特殊效果,甚至有些骰子能改变角色的所有特性;
这种随机性,为输入和编写提供了一定便利性,Dice Roller 插件将骰子加入到了 Obsidian 中。
插件名片
效果&使用
基础使用
正如这个插件名所言,你只需要在安装完插件后,再在文档中任意地方,插入
`dice: 1d2`
你就可以获得 1 个骰子,2 为最大值(所以你每次只能随机出 1 或 2),如:
而如果你用
`dice: 4d15`
则是 4 个 15 为最大值的骰子的随机值的总和。
而如果你想要更复杂的计算方式,可以随便在里面插入不同的算术,如:
`dice: 3d4+3d4-(3d4 * 1d4) - 2^1d7+2333`
你会获得对应的随机值。上述就是 Dice Roller 简单而又不失实用的用法了。
修饰符 | 语法 | 描述 |
---|---|---|
最小/最大 | Xd[Y, Z] | 掷出一个最小为 Y,最大为 Z 的骰子。 |
保留最高 | k{n} /kh{n} | 保留最高的 {n} 个骰子。 |
保留最低 | kl{n} | 保留最低的 {n} 个骰子。 |
丢弃最低 | dl{n} | 丢弃最低的 {n} 个骰子。 |
丢弃最高 | dh{n} | 丢弃最高的 {n} 个骰子。 |
爆炸 | !{n} , !i | 骰子爆炸 {n} 次。如果提供了 i ,将会无限次爆炸(最多 100 次)。 |
爆炸并合并 | !!{n} , !!i | 与爆炸相同,但爆炸的骰子在显示中被求和,而不是单独显示。 |
重新投掷 | r{n} , ri | 重新投掷最小的骰子 {n} 次。如果提供了 i ,将会无限次重新投掷(最多 100 次)。 |
排序 | s(a) , sd | 按升序或降序排序结果。 |
使唯一 | u | 骰子将重新投掷,直到所有结果都是唯一的。 |
最小/最大
创建一个自定义骰子,最小值为 Y,最大值为 Z。
示例
公式 | 结果 |
---|---|
dice: 4d[7, 8] | [7, 7, 8, 7] |
dice: 1d[20, 20] | [20] |
保持最高
语法:XdXk{n} / XdXkh{n}
保留最高的{n}个骰子。{n}是可选的,默认为 1。被丢弃的骰子将显示为 Nd。
示例
公式 | 结果 |
---|---|
dice: 2d20k / dice: 2d20kh | [7d, 18] = 18 |
dice: 4d20k2 / dice: 4d20kh2 | [4d, 12, 15, 3d = 27 |
保持最低
语法:XdXkl{n}
保留最低的 {n}
次掷骰结果。{n}
是可选的,默认为 1。被丢弃的骰子将显示为 Nd
。
示例
公式 | 结果 |
---|---|
dice: 2d20kl | [7, 18d] = 7 |
dice: 4d20kl2 | [4, 12d, 15d, 3] = 7 |
删除最低分
语法:XdXdl{n}
删除最低的 {n}
个骰子。{n}
是可选的,默认为 1。被删除的骰子将显示为 Nd
。
示例
公式 | 结果 |
---|---|
dice: 2d20dl | [7d, 18] = 18 |
dice: 4d20dl2 | [4d, 12, 15, 3d = 27 |
最高分剔除
语法:XdXdh{n}
保留最低的 {n}
次掷骰结果。{n}
是可选的,默认为 1。被丢弃的骰子将显示为 Nd
。
示例
公式 | 结果 |
---|---|
dice: 2d20dh | [7, 18d] = 7 |
dice: 4d20dh2 | [4, 12d, 15d, 3 = 7 |
爆炸
语法:XdX!{n|i}
如果提供了 {n}
或 {i}
,则 Explode 将为每个最大骰子点数再掷一次。如果掷出的点数小于最大点数,或者已经进行了 {n}
次尝试,则停止掷骰。为了防止滥用,{i}
的最大次数为 100 次。
爆炸的骰子将显示为 N!
。
示例
公式 | 结果 |
---|---|
dice: 2d20! | [7, 20!, 8] = 35 |
dice: 2d4!3 | [3, 4!, 4!, 2] = 13 |
dice: 1d1!i | [1!, 1!, 1!, ... , 1!, 1!, 1] = 100 |
爆炸与合并
等同于 explode,但是爆炸的骰子在工具提示显示中被合并。
示例
公式 | 结果 |
---|---|
dice: 2d20!! | [7, 28!] = 34 |
dice: 2d4!!3 | [3, 10!] = 13 |
dice: 1d1!!i | [100!] = 100 |
重新投掷
语法:XdXr{n|i}
重新投掷最小的骰子。如果提供了 {n}
或 {i}
,则会继续重新投掷,直到投掷出大于最小值的数字,或者已经尝试了 {n}
次。
重新投掷的骰子会替换其原始投掷结果,而不是像爆炸骰子那样添加新的投掷结果。
重新投掷的骰子在工具提示中显示为 Xr
。
示例
公式 | 结果 |
---|---|
dice: 2d20r | [7r, 18] = 15 |
dice: 2d4r3 | [3, 3r] = 6 |
dice: 1d2ri | [2r] = 2 |
自定义百分比骰子
语法:XdX%
自定义百分比骰子的类型。它将为提供的每个面位数字掷骰,并将它们组合成一个结果。
示例
公式 | 结果 |
---|---|
dice: 1d66% | [6, 3] = 6,3 |
dice: 1d7367% | [4, 2, 4, 1] = 4,2,4,1 |
条件
骰子条件
从版本 6.0.0 开始,骰子投掷支持条件参数。这允许您指定一组要求,其中骰子必须满足其中之一才能包含在投掷中。如果骰子满足此要求,它将被视为 1
(通过),如果不满足,则视为 0
(失败)。
此外,还可以提供 负等于
条件;如果骰子满足此要求,它将被视为 -1
。
支持以下条件:
条件 | 效果 |
---|---|
={n} | 仅当投掷结果等于 {n} 时才成功。 |
=!{n} * | 仅当投掷结果不等于 {n} 时才成功。 |
>{n} | 仅当投掷结果大于 {n} 时才成功。 |
<{n} | 仅当投掷结果小于 {n} 时才成功。 |
>={n} | 仅当投掷结果大于或等于 {n} 时才成功。 |
<={n} | 仅当投掷结果小于或等于 {n} 时才成功。 |
-={n} 或 =-{n} | 投掷结果等于 {n} 将被视为 -1。 |
* 请注意,由于与 Explode 发生冲突,支持 !={n}
作为骰子条件。如果需要,请使用 =!{n}
。
接下来将介绍它特殊而又具有独创性的用法。
Dice Roller 高级用法
即——随机块
虽然说它是高级,但是在 Dice Roller 文档中,它还是和初始用法是视作同类的,它带来了三个非常有用的场景用法。
在文档中任意地方,插入
`dice: [[Note]]|paragraph`
会返回 Note 标题的段落块——注意,由于代码块在 Obsidian 中也被认为是段落块,所以会直接返回一整个代码块,而代码块现阶段还不会被渲染,如下:
类似地,用
`dice: [[Note]]|yaml`
则返回 YAML 结果。
而如果你想要返回任意一个标签的所有文件中的任意一个块,那么你可以用下边的代码来实现,需要你先安装了 Dataview。
`dice: #tag`
这个会返回所有带有标签的文件的任意一个块。
如我用 dice: #writings
就会返回:
而当你用
`dice: #tag|-`
的时候,则会只返回随机一个文件的随机块,类似地,当你用 + 号,则默认为返回每一个。
当然你也可以用这种方式来返回段落块:
`dice: #tag|paragraph`
或者
`dice: #tag|-|paragraph`
当然,你还能在这个基础上加上 Dice Roller 的基础参数,例如
`dice: 3d[[Note]]|paragraph`
可以输出三个 Note 笔记的随机段落块。
到这里,就已经可以介绍我的使用场景了——我不知道第二天做什么菜好要怎么办。
看一下第二天做什么菜
由于我的笔记库里面记录了不少之前已经验证过“对我而言”相对简单而又相对好吃的菜的做法。但是由于都是分成一个个笔记的,而这个插件又只能快速引用对应的块,那该咋办呢。
没错,让我们把 Text expand 插件搬出来,不了解这个插件的可以先去看一下我之前写的文章,然后利用它将我所有相关菜聚集成一个文件列表,如下:
随机菜就会生效,这起码减少了我很多焦虑以及思考时间,虽然有时候还是会觉得很麻烦,但是至少比之前太多选择好。
但是有些人不做饭或者没有选择困难症的,可以忽略这个使用场景,下一个场景可能对于某些人来说更有帮助。
今天早上我做点什么
我起床洗漱后有时候会不知道距离出门的三十分钟内,我可以做点什么,而为了解决这个问题,我也加入了对应的随机事件,例如
在 Obsidian 上写一篇随想
做一下体操
看一下今天的科技新闻
写一下 Obsidian 快报
而今天我打开日记,就会出现随机事件。
在这个基础上,你就可以思考如果自己放假呢,如果自己周末呢,是不是可以利用这个来配合 Day Planner 来计划一下自己今天想做什么,又是不是可以利用它从自己一直来不及执行的事件中抽一件执行等,然后利用 Dice Roller 来随机化这些事件。
也许会有人问,为什么不能坚持去做一件事,这个我只能说是这些都是我坚持不了的事情,但是我如果隔两天再做其中一件事,那我反而会很有动力,这也是我特别喜欢玩随机的游戏。
不过接下来则是需要你配合自己拆书或者收藏文章的行动,才能模仿的使用场景了。
水文章\“洗稿”
就如同上述所讲,你写文章的时候最怕的是没有思路,但是当你想要去模仿别人的思路的时候,你很容易就会被认为是抄袭。
而利用好 Dice Roller 却在一定程度上解决你想不到怎么写的问题,你只要利用上述的标签随机功能,你可以获得一大堆随机块,但是却是基于某个指定主题的,那么你总会能从里面找到一些奇怪的论述方向,如果你觉得不妥,那就继续 Roll ,在思考的过程中同时让 Obsidian 帮你随机一些可能的点子。
但是这个需要你对自己的笔记规划相当合理,而不是每一个笔记随便什么标签都放进去,而且如果你能利用上 Admonition 插件来拆分每一篇文章的区块,那么你又能获得更好的效果了——因为 Dice Roller 支持筛选代码块,而 Admonition 能让你的文本块被整个随机出来。
不过这种方式往往只能用于水文章(用于向上级交代),利用这种方式写的文章很容易有别人的影子,查重率可能 100%(笑)
总结
以上是我在用 Dice Roller 插件过程中摸索出的一些对我个人而言很有趣也相当实用的用法,而实现这些用法的功能竟然是 5.0.0 才加入的新功能,所以后续如果我之前介绍的插件有了某些功能更新,我这边也会考虑再写相关的文章,下一篇将介绍 Obsidian 中的两大地图插件—— Obsidian Leaflet 和 MapView Note,谢谢阅读。
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。