#include <Die.h>
Inheritance diagram for ogs::core::Die:
Public Types | |
typedef unsigned short | Sides |
The type of a die. | |
typedef unsigned short | Count |
Number of times a die is rolled. | |
typedef short | Modifier |
Arbitrary value added to sum of die rolls. | |
typedef short | Value |
Sum of die rolls plus modifier. | |
Public Member Functions | |
Die (Sides sides=d20, Count count=1, Modifier modifier=0) | |
Create a new die. | |
Sides | getSides () const |
Determine the number of sides on this die. | |
void | setSides (Sides sides) |
Change the sides on this die. | |
Count | getCount () const |
Determine the number of times this die is rolled. | |
void | setCount (Count count) |
Change the number of times the die is rolled. | |
Modifier | getModifier () const |
Determine the arbitrary value added to the sum of die rolls. | |
void | setModifier (Modifier modifier) |
Change the modifier added to the sum of die rolls. | |
Value | getValue () const |
Determine the value of the last die roll. | |
void | setValue () const |
Change the value of the die. | |
Value | rollValue () const |
Reroll this die. | |
Value | getMaximumValue () const |
Retrieve the highest possible value of this die. | |
Value | getMinimumValue () const |
Retrieve the lowest possible value of this die. | |
Static Public Member Functions | |
Value | roll (Sides sides=d20, Count count=1, Modifier modifier=0) |
Roll a die one or more times and add a modifier. | |
Static Public Attributes | |
const Sides | d4 = 4 |
A four-sided die. | |
const Sides | d6 = 6 |
A six-sided die. | |
const Sides | d8 = 8 |
An eight-sided die. | |
const Sides | d10 = 10 |
A ten-sided die. | |
const Sides | d12 = 12 |
A twelve-sided die. | |
const Sides | d20 = 20 |
A twenty-sided die. | |
const Sides | d2 = 2 |
A two-sided die. | |
const Sides | d3 = 3 |
A three-sided die. | |
const Sides | d5 = 5 |
A five-sided die. | |
const Sides | d100 = 100 |
A hundred-sided die. |
Die
object is homogenous: only one type of die is represented by a single object. Type refers to the number of sides on a die. A single die, however, can be rolled more than once. The sum of these rolls can be added to a die modifier to produce an overall range of random numbers.
|
Die counts must always be one (1) or more. |
|
Die modifiers can be zero (0), positive, or negative. |
|
The type of a die is denoted by the number of sides that it has. Some types of die are real: they are geometrical solids. Other types are virtual: they are simulated using real die. Die sides must always be two (2) or more. |
|
A die value is usually called "a die roll" but "Value" is used to distinguish "a die roll" from "roll a die". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This method combines the setValue and getValue methods.
|
|
|
|
|
|
|
|
This method rerolls the die. |
|
A hundred-sided die is simulated by rolling two d10. One die is tens and the other is ones. |
|
A two-sided die is simulated by rolling a d4, d6, d8, d10, d12, or d20. An even number is a 1 and an odd number is a 2. |
|
A three-sided die is simulated by rolling a d6, 1 or 2 counts as 1, 3 or 4 is a 2, 5 or 6 is a 3. |
|
A five-sided die is simulated by rolling a d10, Results are treated similarly to d3. |