A dice rolling library that uses standard dice notation
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
test
.gitignore
.npmignore Create .npmignore file Nov 28, 2013
.travis.yml
Gruntfile.js
LICENSE
README.md Update docs for changes made in PR #6 Apr 20, 2017
droll.js
droll.min.js
package.json

README.md

Description

Droll is a JavaScript dice-rolling library. It accepts input in standard dice notation and works in both Node.js and browser environments.

An optional executable is also included in the package for use directly from the command line.

Build Status

Installation

With npm (recommended)

npm install droll

Without npm

Download droll.js or droll.min.js

Usage

Node.js

var droll = require('droll');

var result = droll.roll('3d6+1');

console.log(result);

Browser

<script src="droll.js"></script>
<script type="text/javascript">

  var result = droll.roll('3d6+1');

  console.log(result);

</script>

Optional Executable

Droll ships with an optional executable that can be installed via npm like this

npm install droll -g

And used from the command line like this

$ droll 3d6+1
6 + 5 + 5 + 1 = 17

Public Methods

validate(formula)

  • formula String The dice formula in standard dice notation.

Returns true if formula is valid dice notation or false otherwise.

roll(formula)

  • formula String The dice formula in standard dice notation.

Rolls the dice defined by formula and returns a DrollResult object on success or false otherwise.

The DrollResult object contains the following properties

  • rolls Array The result of each die roll.
  • modifier Number The optional modifier. The default is 0.
  • total Number The sum of the rolls plus the modifier.

The DrollResult object also has a custom toString() method for pretty printing the result. It returns strings that look like 6 + 5 + 5 + 1 = 17 or 4 + 2 - 1 = 5 or even just 7.

parse(formula)

  • formula String The dice formula in standard dice notation.

Parses formula into its component pieces and returns a DrollFormula object on success or false otherwise.

The DrollFormula object contains the following properties

  • numDice Number The number of dice to roll.
  • numSides Number The number of sides on each die.
  • modifier Number The optional modifier. The default is 0.
  • minResult Number The minimum result that can be returned by this formula.
  • maxResult Number The maximum result that can be returned by this formula.
  • avgResult Number The average result returned by this formula. ((max + min) / 2)