1.1.2 • Published 5 years ago

dicecup v1.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

dicecup

Interprets strings (e.g. '1d6+1') to roll dice. This module uses the parser from the excellent node-dice with a few tweaks to interpret strings in http://en.wikipedia.org/wiki/Dice_notation(dice notation) to make die rolls and report the results as JSON.

It will apply modifiers (pluses and minuses) and will provide a total for each space-separated group in the string. For example, the results for the dicecup.roll('3d6 3d6 1d52 1d4') will be something like:

[
  {
    rolls: [
      4,
      6,
      5
    ],
    total: 15
  },
  {
    rolls: [
      4,
      3,
      4
    ],
    total: 11
  },
  {
    rolls: [
      22
    ],
    total: 22
  },
  {
    rolls: [
      3
    ],
    total: 3
  }
]

By default, there's no limits on the number of dice you want to roll. node cup.js 999999d6 works on my machine. It's up to you to to limit the resources taken up by roll by creating diceCup with the numberOfFacesOnLargestDie and numberOfRollsLimit opts like so:

var cup = createDiceCup({
  probable: mockProbable,
  numberOfFacesOnLargestDie: 50000,
  numberOfRollsLimit: 125000
});

Installation

npm install dicecup

Usage

var createDiceCup = require('dicecup');
var cup = createDiceCup();
console.log(cup.roll('2d4'));

As a command:

npm -g dicecup
cup "3d6 3d6 1d52 1d4"

Tests

Run tests with make test.

License

MIT.

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

9 years ago

1.0.9

9 years ago

1.0.7

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago