raa0121 / GoBCDice

GoBCDice is BCDice reimplemented by Go.
BSD 3-Clause "New" or "Revised" License
9 stars 2 forks source link

バラバラロール(BRoll)を実装する #14

Closed ochaochaocha3 closed 5 years ago

ochaochaocha3 commented 5 years ago

https://github.com/bcdice/BCDice/blob/v2.03.01/docs/README.txt

ダイスの値の和を使うのではなく「ある値以上のダイスの個数」を使うゲーム(シャドウランなど)にも対応しました。Dの代わりにBを使うことで、合計ではなくバラバラの値が表示されます。ボーナスを記入することは出来ません。

例)

3b6   10b6   8B10

最後に条件を指定すると、条件にあうダイスがいくつあるのか数えます。使える条件は、以上(>=)、以下(<=)、未満(<)、より大(>)、以外(<>)、同じ(=)です。ダイス同士の加算式のみ使えます。ただしダイスの面数は揃えてください。条件の数値に計算式は使えません。ただし括弧内前処理は可能です。

構文解析するため、条件指定時に条件部に計算式を使うことも可能。説明ではダイスの面数を揃えることが要求されているが、どどんとふ上では異なる面数でも結合できた。

抽象構文木の例

結果の型

結果のメッセージの例