Skip to the content

Korokoroコロコロ

Roll mixed dice or type notation, compare exact probabilities, keep a history and replay seeded rolls.

Korokoro describes something small rolling in Japanese. About the name

Contents

Reference · Rolls and exact odds

patternsOffunction

Every way the dice of a spec can fall, kind by kind, each with how many of the equally likely throws fall that way. The dice of a kind are given sorted, highest first, so a reading that does not care about their order (none here does, within a kind) can be counted over thousands of patterns where there are millions of throws. Null when the dice are not plain: a reroll or an explosion has no fixed number of throws to count.

Import it

import { patternsOf } from "@johnmorrisdotca/korokoro";

Definition

function patternsOf(spec: RollSpec): { dice: Dice; ways: bigint; }[] | null

Parameters

NameTypeDescription
specRollSpec

Dice counts, sides, rules and modifier; omitted fields use the documented defaults.

Returns

{ dice: Dice; ways: bigint; }[] | null

Every way the dice of a spec can fall, kind by kind, each with how many of the equally likely throws fall that way. The dice of a kind are given sorted, highest first, so a reading that does not care about their order (none here does, within a kind) can be counted over thousands of patterns where there are millions of throws. null when the dice are not plain: a reroll or an explosion has no fixed number of throws to count.

Examples

import { patternsOf } from "@johnmorrisdotca/korokoro";
import { normalizeSpec } from "@johnmorrisdotca/korokoro";
const spec = normalizeSpec({ count: 2, sides: 6 });
console.log(patternsOf(spec)?.length);
21

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/korokoro 1.16.0.