diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-10-06 19:14:55 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-10-06 19:14:55 -0400 |
| commit | a166818ea312c83489d9397165bd16aa61fe5438 (patch) | |
| tree | 8dc4741b987e45611d3929db91a4fe1ab7ad01a5 /dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java | |
| parent | 5a26fb2c0d899b1c80fabb39366a7b7db4d8ca41 (diff) | |
Info cleanup
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java')
| -rw-r--r-- | dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java b/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java index d6d5dd0..c0131f1 100644 --- a/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java +++ b/dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java @@ -2,11 +2,29 @@ package bjc.dicelang.dicev2; import java.util.function.LongUnaryOperator; +/** + * Die pool which executes a mapping on the result. + * + * @author Ben Culkin + * + */ public class MapDieMod extends Die { + /** + * The die pool. + */ public final Die die; + /** + * The operator on the result. + */ public final LongUnaryOperator map; + /** + * Create a new mapping die pool. + * + * @param map The operation to do on the result. + * @param die The die pool. + */ public MapDieMod(LongUnaryOperator map, Die die) { super(); @@ -14,6 +32,7 @@ public class MapDieMod extends Die { this.map = map; } + @Override public long[] roll() { long[] res = die.roll(); @@ -24,15 +43,18 @@ public class MapDieMod extends Die { return res; } + @Override public long rollSingle() { return map.applyAsLong(die.rollSingle()); } /* :UnoptimizableDice */ + @Override public boolean canOptimize() { return false; } + @Override public long optimize() { throw new UnsupportedOperationException("Mapped dice can't be optimized"); } |
