本文へ移動

Korokoroコロコロ

ダイスを組み合わせて振り、ダイス表記を読み取り、正確な確率を調べます。履歴の保存やシードを指定した再現もできます。

「コロコロ」は、小さなものが転がる様子を表す言葉です。 名前について(英語)

目次

やり方

独自のダイスと重み

文字や数値を付けた面と、重み付きのダイスを作ります。

出目に文字を付ける

import { parseNotation, roll, seededSource, hasTotal } from "@johnmorrisdotca/korokoro";
const spec = parseNotation("2d[Hit=1,Miss=0,Miss=0]")!;
console.log(hasTotal(spec));
console.log(roll(spec, seededSource("custom"), 0).total);
true
1

同じ面を複数入れると、その面が出やすくなります。面には文字、数値、色を指定できます。文字はテキストとして表示します。記録には面の位置が入るので、同じ出目を再構成できます。

番号付きダイスに重みを付ける

import { parseNotation, loadingOf, isFair, faceChances } from "@johnmorrisdotca/korokoro";
const loaded = parseNotation("1d6{6:3}")!;
console.log(isFair(loaded), loadingOf(loaded));
console.log(faceChances(loaded).map((face) => face.chance));
false { face: 6, loaded: [ 3, 8 ], fair: [ 1, 6 ] }
[ 0.125, 0.125, 0.125, 0.125, 0.125, 0.375 ]

このd6では6の重みが3、ほかの面が1です。重みがすべて同じ場合は、公平なダイスとして正規化します。重み付きダイスの資料に、出目から調べる方法と必要な件数があります。独自のダイスの資料には、文字数、数値、面の数の上限があります。

ソースを見るGitHub で編集@johnmorrisdotca/korokoro 1.16.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。