diff options
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/CompoundDice.java')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/CompoundDice.java | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/CompoundDice.java b/dice-lang/src/main/java/bjc/dicelang/CompoundDice.java deleted file mode 100644 index 704e4cd..0000000 --- a/dice-lang/src/main/java/bjc/dicelang/CompoundDice.java +++ /dev/null @@ -1,100 +0,0 @@ -package bjc.dicelang; - -/** - * 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 leftDice; - - /** - * The right die of the expression - */ - private IDiceExpression rightDice; - - /** - * Create a new compound dice using the specified dice - * - * @param left - * The die to use on the left - * @param right - * The die to use on the right - */ - public CompoundDice(IDiceExpression left, IDiceExpression right) { - this.leftDice = left; - this.rightDice = right; - } - - /** - * Create a new compound dice from two dice strings - * - * @param leftExp - * The left side dice as a string - * @param rightExp - * The right side dice as a string - */ - public CompoundDice(String leftExp, String rightExp) { - this(ComplexDice.fromString(leftExp), - ComplexDice.fromString(rightExp)); - } - - /** - * 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 leftDice.canOptimize() && rightDice.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(leftDice.optimize() + "" + rightDice.optimize()); - } - - /* - * (non-Javadoc) - * - * @see bjc.utils.dice.IDiceExpression#roll() - */ - @Override - public int roll() { - /* - * Make the combination of the two dice - */ - return Integer.parseInt(leftDice.roll() + "" + rightDice.roll()); - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return "compound[l=" + leftDice.toString() + ", r=" - + rightDice.toString() + "]"; - } -}
\ No newline at end of file |
