bitkompagniet-dice

0.1.5 • Public • Published

Build Status

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'); // the pool will start rolled

Rolling and retrieving the value

The value of the pool is an array of the individual dice values.

var result = pool.roll(); // will return the new value
var value = pool.value(); // will be the same as above until we re-roll

Aggregates

var sum = pool.sum()           // a single sum of all dice values
var avg = pool.average()       // the average of all values
var med = pool.median()        // the median value
var min = pool.min()           // the lowest die value
var max = pool.max()           // the highest die value
var sixes = pool.count(6)      // number of 6's
var highs = pool.count([5, 6]) // number of 5's and 6's

Merging pools

var p1 = dice.create('10d6');
var p2 = dice.create('2d100');
var merged = p1.merge(p2);      // 10d6 + 2d100

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:

// Create 10 dice with 6 sides, values 2, 4, 6, 2 sides with 8, and 10.
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.

Readme

Keywords

none

Package Sidebar

Install

npm i bitkompagniet-dice

Weekly Downloads

0

Version

0.1.5

License

ISC

Last publish

Collaborators

  • kparkov