From 5a26fb2c0d899b1c80fabb39366a7b7db4d8ca41 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Mon, 13 Apr 2020 18:32:11 -0400 Subject: Add some javadoc Add some javadoc comments --- .../java/bjc/dicelang/dicev2/ExplodingDieMod.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'dice/src/main/java/bjc/dicelang/dicev2/ExplodingDieMod.java') diff --git a/dice/src/main/java/bjc/dicelang/dicev2/ExplodingDieMod.java b/dice/src/main/java/bjc/dicelang/dicev2/ExplodingDieMod.java index 885e02d..895a53c 100644 --- a/dice/src/main/java/bjc/dicelang/dicev2/ExplodingDieMod.java +++ b/dice/src/main/java/bjc/dicelang/dicev2/ExplodingDieMod.java @@ -6,17 +6,42 @@ import java.util.ArrayList; import java.util.List; import java.util.function.LongPredicate; +/** + * An exploding die pool. + * @author Ben Culkin + * + */ public class ExplodingDieMod extends Die { + /** + * The pool of dice. + */ public final Die[] dice; + /** + * The predicate which says when to explode. + */ public final LongPredicate explode; + /** + * Should the explosion penetrate. + */ public final boolean penetrate; + /** + * Create an exploding die pool. + * @param explode The predicate for determining an explosion. + * @param dice The die pool. + */ public ExplodingDieMod(LongPredicate explode, Die... dice) { this(explode, false, dice); } + /** + * Create an exploding die pool. + * @param explode The predicate for determining an explosion. + * @param penetrate Whether the explosion should penetrate. + * @param dice The die pool. + */ public ExplodingDieMod(LongPredicate explode, boolean penetrate, Die... dice) { super(); @@ -27,6 +52,7 @@ public class ExplodingDieMod extends Die { this.penetrate = penetrate; } + @Override public long[] roll() { List lst = new ArrayList<>(dice.length); @@ -57,15 +83,18 @@ public class ExplodingDieMod extends Die { * It makes no sense to roll a 'single' exploding dice, since it * exploding adds another die. Use compounding dice for that case. */ + @Override public long rollSingle() { throw new UnsupportedOperationException("Exploding dice can't be rolled singly"); } /* :UnoptimizableDice */ + @Override public boolean canOptimize() { return false; } + @Override public long optimize() { throw new UnsupportedOperationException("Exploding dice can't be optimized"); } -- cgit v1.2.3