Skip to content

thebinarypenguin/droll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

A dice rolling library that uses standard dice notation

Resources

License

Stars

Watchers

Forks

Packages

No packages published