summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/dice
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/dice')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/dice/BindingDiceExpression.java5
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/dice/CompoundDice.java5
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/dice/DiceExpressionParser.java7
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/dice/Die.java2
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