diff options
Diffstat (limited to 'BJC-Utils2')
4 files changed, 13 insertions, 6 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/BindingDiceExpression.java b/BJC-Utils2/src/main/java/bjc/utils/dice/BindingDiceExpression.java index 51e159d..a715074 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/dice/BindingDiceExpression.java +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/BindingDiceExpression.java @@ -31,6 +31,11 @@ public class BindingDiceExpression implements IDiceExpression { env.put(name, exp); } + public BindingDiceExpression(IDiceExpression left, + IDiceExpression right, Map<String, IDiceExpression> env) { + this(((ReferenceDiceExpression) left).getName(), right, env); + } + @Override public int roll() { return exp.roll(); diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/CompoundDice.java b/BJC-Utils2/src/main/java/bjc/utils/dice/CompoundDice.java index 608174e..3dd70ff 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/dice/CompoundDice.java +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/CompoundDice.java @@ -32,6 +32,11 @@ public class CompoundDice implements IDiceExpression { this.r = r; } + public CompoundDice(String l, String r) { + this.l = ComplexDice.fromString(l); + this.r = ComplexDice.fromString(r); + } + @Override public int roll() { /* diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionParser.java b/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionParser.java index 30943e3..12b85f7 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionParser.java +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionParser.java @@ -92,11 +92,8 @@ public class DiceExpressionParser { IDiceExpression l = dexps.pop(); switch (tok) { case ":=": - dexps.push( - new BindingDiceExpression( - ((ReferenceDiceExpression) l) - .getName(), - r, env)); + dexps.push(new BindingDiceExpression(l, r, + env)); break; case "+": dexps.push(new CompoundDiceExpression(r, l, diff --git a/BJC-Utils2/src/main/java/bjc/utils/dice/Die.java b/BJC-Utils2/src/main/java/bjc/utils/dice/Die.java index 9fdac14..9575df5 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/dice/Die.java +++ b/BJC-Utils2/src/main/java/bjc/utils/dice/Die.java @@ -35,7 +35,7 @@ public class Die implements IDiceExpression { * @return The result of rolling the dice */ public int roll() { - return rng.nextInt(nSides + 1); + return rng.nextInt(nSides) + 1; } @Override |
