From ee6a9305a1009e6f1e3e99d5de3cfba5305a5d1b Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sat, 13 Mar 2021 10:13:01 -0500 Subject: Update documentation Also, did the same thing for Die I did for DiePool, where I moved the specific classes to the same file as the interface. --- .../java/bjc/dicelang/neodice/die/RerollDie.java | 92 ---------------------- 1 file changed, 92 deletions(-) delete mode 100644 dice/src/main/java/bjc/dicelang/neodice/die/RerollDie.java (limited to 'dice/src/main/java/bjc/dicelang/neodice/die/RerollDie.java') diff --git a/dice/src/main/java/bjc/dicelang/neodice/die/RerollDie.java b/dice/src/main/java/bjc/dicelang/neodice/die/RerollDie.java deleted file mode 100644 index 7925c9d..0000000 --- a/dice/src/main/java/bjc/dicelang/neodice/die/RerollDie.java +++ /dev/null @@ -1,92 +0,0 @@ -package bjc.dicelang.neodice.die; - -import java.util.*; -import java.util.function.*; - -import bjc.dicelang.neodice.*; -import bjc.esodata.*; - -public class RerollDie implements Die { - private final Die contained; - - private final Predicate condition; - private final Function, SideType> chooser; - - private final Comparator comparer; - - private int limit = Integer.MAX_VALUE; - - private RerollDie( - Comparator comparer, - Die contained, - Predicate condition, - Function, SideType> chooser) { - this.comparer = comparer; - - this.contained = contained; - - this.condition = condition; - this.chooser = chooser; - } - - private RerollDie( - Comparator comparer, - Die contained, - Predicate condition, - Function, SideType> chooser, - int limit) { - this(comparer, contained, condition, chooser); - - this.limit = limit; - } - - @Override - public SideType roll(Random rng) { - SideType roll = contained.roll(rng); - - MinMaxList newRolls = new MinMaxList<>(comparer, roll); - - int rerollCount = 0; - while (condition.test(roll) && rerollCount < limit) { - roll = contained.roll(rng); - newRolls.add(roll); - - rerollCount += 1; - } - - return chooser.apply(newRolls); - } - - public static > Die create( - Die contained, - Predicate condition, - Function, Side> chooser) { - return new RerollDie<>(Comparator.naturalOrder(), contained, condition, chooser); - } - - public static > Die create( - Die contained, - Predicate condition, - Function, Side> chooser, - int limit) { - return new RerollDie<>(Comparator.naturalOrder(), contained, condition, chooser, limit); - } - - - public static Die create( - Comparator comparer, - Die contained, - Predicate condition, - Function, Side> chooser) { - return new RerollDie(comparer, contained, condition, chooser); - } - - public static Die create( - Comparator comparer, - Die contained, - Predicate condition, - Function, Side> chooser, - int limit) { - return new RerollDie(comparer, contained, condition, chooser, limit); - } -} \ No newline at end of file -- cgit v1.2.3