diff options
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v1/CompoundDice.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/v1/CompoundDice.java | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/dice-lang/src/bjc/dicelang/v1/CompoundDice.java b/dice-lang/src/bjc/dicelang/v1/CompoundDice.java deleted file mode 100644 index 43d64e8..0000000 --- a/dice-lang/src/bjc/dicelang/v1/CompoundDice.java +++ /dev/null @@ -1,83 +0,0 @@ -package bjc.dicelang.v1; - -/** - * Implements a "compound dice" - * - * To explain, a compound dice is something like a d100 composed from two d10s - * instead of a hundred sided die. - * - * @author ben - * - */ -public class CompoundDice implements IDiceExpression { - /* - * The left die of the expression - */ - private IDiceExpression left; - - /* - * The right die of the expression - */ - private IDiceExpression right; - - /** - * Create a new compound dice using the specified dice - * - * @param lft - * The die to use on the left - * @param rght - * The die to use on the right - */ - public CompoundDice(IDiceExpression lft, IDiceExpression rght) { - this.left = lft; - this.right = rght; - } - - /** - * Create a new compound dice from two dice strings - * - * @param lft - * The left side dice as a string - * @param rght - * The right side dice as a string - */ - public CompoundDice(String lft, String rght) { - this(ComplexDice.fromString(lft), ComplexDice.fromString(rght)); - } - - /** - * Create a new compound dice from an array of dice strings - * - * @param exps - * An array of two dice strings - */ - public CompoundDice(String[] exps) { - this(exps[0], exps[1]); - } - - @Override - public boolean canOptimize() { - return left.canOptimize() && right.canOptimize(); - } - - @Override - public int optimize() { - if(!canOptimize()) throw new UnsupportedOperationException("Cannot optimize this compound dice. " - + "Both component dice must be optimizable" + " to optimize a compound dice"); - - return Integer.parseInt(left.optimize() + "" + right.optimize()); - } - - @Override - public int roll() { - /* - * Make the combination of the two dice - */ - return Integer.parseInt(left.roll() + "" + right.roll()); - } - - @Override - public String toString() { - return "compound[l=" + left.toString() + ", r=" + right.toString() + "]"; - } -} |
