From a166818ea312c83489d9397165bd16aa61fe5438 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 6 Oct 2020 19:14:55 -0400 Subject: Info cleanup --- .../main/java/bjc/dicelang/dicev2/MapDieMod.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'dice/src/main/java/bjc/dicelang/dicev2/MapDieMod.java') 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"); } -- cgit v1.2.3