diff options
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/Die.java')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/Die.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/Die.java b/dice-lang/src/main/java/bjc/dicelang/Die.java new file mode 100644 index 0000000..addc2af --- /dev/null +++ b/dice-lang/src/main/java/bjc/dicelang/Die.java @@ -0,0 +1,51 @@ +package bjc.dicelang; + +import java.util.Random; + +/** + * A single polyhedral dice + * + * @author ben + * + */ +public class Die implements IDiceExpression { + /** + * Random # gen to use for dice + */ + private static Random rng = new Random(); + + /** + * Number of sides this die has + */ + private int nSides; + + /** + * Create a die with the specified number of sides + * + * @param nSides + * The number of sides this dice has + */ + public Die(int nSides) { + this.nSides = nSides; + } + + /* + * (non-Javadoc) + * + * @see bjc.utils.dice.IDiceExpression#roll() + */ + @Override + public int roll() { + return rng.nextInt(nSides) + 1; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return "d" + nSides; + } +} |
