nuffleapp/nuffle

Roll a die with any number of sides.

v1.0.4 2016-08-30 19:52 UTC

This package is not auto-updated.

Last update: 2024-12-11 21:03:41 UTC


README

MIT licensed Build Status codecov Gitter Packagist

Nuffle, The PHP Library

Nuffle, The PHP Library, is a dice calculator library that provides the functionality to perform complex dice rolls and calculate their result (ex: 5d6 + 1d20 / (1d6 - 2)).

Installation

Via Composer

Require the library and update via Composer:

composer require nuffleapp/nuffle
composer update

Manually

Download the latest release, extract into a directory called nuffle, and include the library at the beginning of your script:

include_once('./nuffle/src/Nuffle.php');
use \Nuffle\Nuffle;

Usage

Nuffle is a dice calculator, allowing you to perform complex dice rolls and calculate their result. To do so, simply call the roll() method with your equation:

Nuffle::roll('5d6 + 1d20 / (1d6 - 2)')

That method will return an object that looks like the following:

{
   "rolls" : [
      {
         "notation" : "5d6",
         "rolls" : [
            2,
            1,
            2,
            4,
            5
         ]
      },
      {
         "notation" : "1d20",
         "rolls" : [
            11
         ]
      },
      {
         "rolls" : [
            4
         ],
         "notation" : "1d6"
      }
   ],
   "equation" : "(2 + 1 + 2 + 4 + 5) + (11) / ((4) - 2)",
   "result" : 19.5,
   "input" : "5d6 + 1d20 / (1d6 - 2)"
}

The object includes the value of each individual dice roll notation, the expanded equation, the equation result, and the original input.

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Nuffle is maintained under the Semantic Versioning guidelines. Sometimes we screw up, but we'll adhere to those rules whenever possible.

See the Releases section of our GitHub project for changelogs for each release version of Nuffle.

Support

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.

For personal support requests, please use Gitter to get help.

Copyright and License

Code and documentation copyright 2016 nuffleapp. Code released under the MIT license.