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/DiceExpressionBuilder.java | |
| parent | 5508eecfa7a7821cbaf650ae1f9a97633e1644b6 (diff) | |
Added dice roller
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionBuilder.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionBuilder.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionBuilder.java b/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionBuilder.java new file mode 100644 index 0000000..bcfbb81 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionBuilder.java @@ -0,0 +1,63 @@ +package bjc.utils.dice; + +import static bjc.utils.dice.DiceExpressionType.*; + +public class DiceExpressionBuilder { + private DiceExpression baking; + + public DiceExpressionBuilder(Dice firstDice) { + baking = firstDice; + } + + public DiceExpressionBuilder(DiceExpression seed) { + baking = seed; + } + + public DiceExpressionBuilder(int nSides, int nDice) { + baking = new Dice(nSides, nDice); + } + + public DiceExpressionBuilder add(DiceExpression exp) { + baking = new CompoundDiceExpression(baking, exp, ADD); + return this; + } + + public DiceExpressionBuilder add(int num) { + baking = new ScalarDiceExpression(baking, num, ADD); + return this; + } + + public DiceExpression bake() { + return baking; + } + + public DiceExpressionBuilder divide(DiceExpression exp) { + baking = new CompoundDiceExpression(baking, exp, DIVIDE); + return this; + } + + public DiceExpressionBuilder divide(int num) { + baking = new ScalarDiceExpression(baking, num, DIVIDE); + return this; + } + + public DiceExpressionBuilder multiply(DiceExpression exp) { + baking = new CompoundDiceExpression(baking, exp, MULTIPLY); + return this; + } + + public DiceExpressionBuilder multiply(int num) { + baking = new ScalarDiceExpression(baking, num, MULTIPLY); + return this; + } + + public DiceExpressionBuilder subtract(DiceExpression exp) { + baking = new CompoundDiceExpression(baking, exp, SUBTRACT); + return this; + } + + public DiceExpressionBuilder subtract(int num) { + baking = new ScalarDiceExpression(baking, num, SUBTRACT); + return this; + } +} |
