droll
v0.2.1
Published
A dice rolling library that uses standard dice notation
Downloads
2,682
Maintainers
Readme
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.
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)