
Creates dice pools using dice annotation known from RPG's and the like (3d6, 10d100, 8d12). Pools can be merged, and there are convenience methods for easily creating typical dice.
Install
npm install bitkompagniet-dice
API
Create a new pool:
var dice = require('bitkompagniet-dice');
var pool = dice.create('4d6');
Rolling and retrieving the value
The value of the pool is an array of the individual dice values.
var result = pool.roll();
var value = pool.value();
Aggregates
var sum = pool.sum()
var avg = pool.average()
var med = pool.median()
var min = pool.min()
var max = pool.max()
var sixes = pool.count(6)
var highs = pool.count([5, 6])
Merging pools
var p1 = dice.create('10d6');
var p2 = dice.create('2d100');
var merged = p1.merge(p2);
Special dice
If we want to create one or more dice that are not continuous in values starting from 1,
we can create a pool of special dice:
var pool = dice.specialDice([2, 4, 6, 8, 8, 10], 10);
Only numbered dice are allowed right now.
Future plans
- Accept pool definitions of numbers instead of annotations.
- Accept a compound of pools in
dice.create()
.
- Allow non-numerical dice.