Download the PHP package zero-config/d without Composer
On this page you can find all versions of the php package zero-config/d. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download zero-config/d
More information about zero-config/d
Files in zero-config/d
Informations about the package d
Introduction
D is a dice rolling library. It allows for implementations of dice rolling applications and logic.
See also zero-config/d-roll, an application implementing D.
Installation
Entities
The library implements the following entities:
Entity | Result | Implements | Role |
---|---|---|---|
D |
RoleInterface |
DieInterface |
Represents a single die. |
Roll |
int |
RoleInterface |
Represents the outcome of a die roll. |
Dice |
RoleIteratorInterface , DieInterface |
DiceInterface , DieIteratorInterface |
Represents multiple dice. It can roll for them at once or iterate over them. |
The entity that represents a die is called D
because die
is a reserved
keyword in the language and it matches with the shorthand name given to it by
players all over the world.
Services
The library implements the following services:
Service | Result | Implements | Role |
---|---|---|---|
Interpreter |
DiceInterface |
DiceInterpreterInterface |
Interpret user input into a set of dice. |
RollIterator |
RollInterface |
RollIteratorInterface |
Iterate over rolls. |
Factories
The library implements the following factories:
Factory | Result | Implements |
---|---|---|
DieFactory |
DieInterface , DiceInterface |
DieFactoryInterface , DiceFactoryInterface |
RollFactory |
RollInterface |
RollFactoryInterface |
Number generator
The number generator comes from the hylianshield/number-generator package by implementing its interface, the number generator can be swapped out.
Use case
You may want to use a different number generator, because the default number generator is not random enough to your taste. Let's see what is needed to create an implementation with a custom number generator:
This will result in a number between 11
and 50
.
One could make this a bit more verbose by iterating over the dice:
This will output something like:
Complex interpretations.
If you want to interpret multiple dice configurations at once and also have them
grouped and sorted, the interpreter has an additional method, interpretList
.
The list will contain the following structure: