diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-01-26 11:31:45 -0500 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-01-26 11:31:45 -0500 |
| commit | 438a23c696283dc17a0d5fd1a3e12513deac9030 (patch) | |
| tree | 361e8a7b660fea82a150685f830be7187f305a44 /BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java | |
| parent | 5508eecfa7a7821cbaf650ae1f9a97633e1644b6 (diff) | |
Added dice roller
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java b/BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java new file mode 100644 index 0000000..84c2d0a --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/Dice.java @@ -0,0 +1,39 @@ +package bjc.utils.dice; + +public class Dice implements DiceExpression { + private Die die; + private int nDice; + + public Dice(int nDce, Die de) { + nDice = nDce; + die = de; + } + + public Dice(int nDce, int nSides) { + this(nDce, new Die(nSides)); + } + + public int roll() { + int res = 0; + + for (int i = 0; i < nDice; i++) { + res += die.roll(); + } + + return res; + } + + public static Dice fromString(String dice) { + String[] strangs = dice.split("d"); + + try { + return new Dice(Integer.parseInt(strangs[0]), + Integer.parseInt(strangs[1])); + } catch (NumberFormatException nfex) { + throw new IllegalStateException( + "Attempted to create a dice using something that's not" + + " an integer: " + strangs[0] + " and " + + strangs[1] + " are likely culprits.s"); + } + } +} |
