From 36e0911c6ec27707a74f0b90b1052a16374243ea Mon Sep 17 00:00:00 2001 From: bjculkin Date: Wed, 1 Mar 2017 10:13:41 -0500 Subject: Package reorganization --- .../src/bjc/dicelang/v2/dice/ExplodingDice.java | 70 ---------------------- 1 file changed, 70 deletions(-) delete mode 100644 dice-lang/src/bjc/dicelang/v2/dice/ExplodingDice.java (limited to 'dice-lang/src/bjc/dicelang/v2/dice/ExplodingDice.java') diff --git a/dice-lang/src/bjc/dicelang/v2/dice/ExplodingDice.java b/dice-lang/src/bjc/dicelang/v2/dice/ExplodingDice.java deleted file mode 100644 index 40ff1e0..0000000 --- a/dice-lang/src/bjc/dicelang/v2/dice/ExplodingDice.java +++ /dev/null @@ -1,70 +0,0 @@ -package bjc.dicelang.v2.dice; - -import java.util.LinkedList; -import java.util.List; -import java.util.function.Predicate; - -public class ExplodingDice implements DieList { - private Die source; - - private Predicate explodeOn; - private String explodePattern; - private boolean explodePenetrates; - - public ExplodingDice(Die src, Predicate explode) { - this(src, explode, null, false); - } - - public ExplodingDice(Die src, Predicate explode, boolean penetrate) { - this(src, explode, null, penetrate); - } - - public ExplodingDice(Die src, Predicate explode, String patt, - boolean penetrate) { - source = src; - explodeOn = explode; - explodePattern = patt; - explodePenetrates = penetrate; - } - - public boolean canOptimize() { - return false; - } - - public long[] optimize() { - return new long[0]; - } - - public long[] roll() { - long res = source.roll(); - long oldRes = res; - - List resList = new LinkedList<>(); - - while(explodeOn.test(oldRes)) { - oldRes = source.rollSingle(); - - if(explodePenetrates) oldRes -= 1; - resList.add(oldRes); - } - - long[] newRes = new long[resList.size() + 1]; - newRes[0] = res; - - int i = 1; - for(long rll : resList) { - newRes[i] = rll; - i += 1; - } - - return newRes; - } - - public String toString() { - if(explodePattern == null) { - return source + (explodePenetrates ? "p" : "") + "!"; - } else { - return source + (explodePenetrates ? "p" : "") + "!" + explodePattern; - } - } -} \ No newline at end of file -- cgit v1.2.3