From 57f9a3bfdad20bead5b35ee540e8790e80a6b9a4 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Tue, 11 Apr 2017 21:48:50 -0400 Subject: Cleanup --- dice-lang/src/bjc/dicelang/dice/CompoundDie.java | 6 +- .../src/bjc/dicelang/dice/CompoundingDie.java | 21 ++--- dice-lang/src/bjc/dicelang/dice/DiceBox.java | 105 ++++++++++----------- dice-lang/src/bjc/dicelang/dice/DieExpression.java | 18 ++-- dice-lang/src/bjc/dicelang/dice/ExplodingDice.java | 33 ++++--- dice-lang/src/bjc/dicelang/dice/FudgeDie.java | 10 +- dice-lang/src/bjc/dicelang/dice/MathDie.java | 26 ++--- dice-lang/src/bjc/dicelang/dice/ScalarDie.java | 4 +- dice-lang/src/bjc/dicelang/dice/SimpleDie.java | 34 ++++--- dice-lang/src/bjc/dicelang/dice/SimpleDieList.java | 27 +++--- 10 files changed, 138 insertions(+), 146 deletions(-) (limited to 'dice-lang/src/bjc/dicelang/dice') diff --git a/dice-lang/src/bjc/dicelang/dice/CompoundDie.java b/dice-lang/src/bjc/dicelang/dice/CompoundDie.java index adbd102..7cd8fcf 100644 --- a/dice-lang/src/bjc/dicelang/dice/CompoundDie.java +++ b/dice-lang/src/bjc/dicelang/dice/CompoundDie.java @@ -9,8 +9,8 @@ public class CompoundDie implements Die { /* * The dice that form this die */ - private Die left; - private Die right; + private final Die left; + private final Die right; /** * Create a new compound die. @@ -20,7 +20,7 @@ public class CompoundDie implements Die { * @param rght * The right die */ - public CompoundDie(Die lft, Die rght) { + public CompoundDie(final Die lft, final Die rght) { left = lft; right = rght; } diff --git a/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java b/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java index a25696a..73d910a 100644 --- a/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java +++ b/dice-lang/src/bjc/dicelang/dice/CompoundingDie.java @@ -11,10 +11,10 @@ import java.util.function.Predicate; * @author Ben Culkin */ public class CompoundingDie implements Die { - private Die source; + private final Die source; - private Predicate compoundOn; - private String compoundPattern; + private final Predicate compoundOn; + private final String compoundPattern; /** * Create a new compounding die with no pattern. @@ -24,7 +24,7 @@ public class CompoundingDie implements Die { * @param compound * The conditions to compound on */ - public CompoundingDie(Die src, Predicate compound) { + public CompoundingDie(final Die src, final Predicate compound) { this(src, compound, null); } @@ -39,7 +39,7 @@ public class CompoundingDie implements Die { * The string pattern the condition came from, for * printing */ - public CompoundingDie(Die src, Predicate compound, String patt) { + public CompoundingDie(final Die src, final Predicate compound, final String patt) { source = src; compoundOn = compound; @@ -61,7 +61,7 @@ public class CompoundingDie implements Die { long res = source.roll(); long oldRes = res; - while(compoundOn.test(oldRes)) { + while (compoundOn.test(oldRes)) { oldRes = source.rollSingle(); res += oldRes; @@ -78,7 +78,7 @@ public class CompoundingDie implements Die { long res = source.rollSingle(); long oldRes = res; - while(compoundOn.test(oldRes)) { + while (compoundOn.test(oldRes)) { oldRes = source.rollSingle(); res += oldRes; @@ -89,9 +89,8 @@ public class CompoundingDie implements Die { @Override public String toString() { - if(compoundPattern == null) - return source + "!!"; - else - return source + "!!" + compoundPattern; + if (compoundPattern == null) return source + "!!"; + + return source + "!!" + compoundPattern; } } diff --git a/dice-lang/src/bjc/dicelang/dice/DiceBox.java b/dice-lang/src/bjc/dicelang/dice/DiceBox.java index 168dda1..c956977 100644 --- a/dice-lang/src/bjc/dicelang/dice/DiceBox.java +++ b/dice-lang/src/bjc/dicelang/dice/DiceBox.java @@ -20,97 +20,97 @@ public class DiceBox { * * @return The die expression from the string, or null if it wasn't one */ - public static DieExpression parseExpression(String expString) { + public static DieExpression parseExpression(final String expString) { /* * Only bother with valid expressions. */ - if(!isValidExpression(expString)) return null; + if (!isValidExpression(expString)) return null; - if(scalarDiePattern.matcher(expString).matches()) { + if (scalarDiePattern.matcher(expString).matches()) { /* * Parse scalar die. */ - String dieString = expString.substring(0, expString.indexOf('s')); - Die scal = new ScalarDie(Long.parseLong(dieString)); + final String dieString = expString.substring(0, expString.indexOf('s')); + final Die scal = new ScalarDie(Long.parseLong(dieString)); return new DieExpression(scal); - } else if(simpleDiePattern.matcher(expString).matches()) { + } else if (simpleDiePattern.matcher(expString).matches()) { /* * Parse simple die groups. */ - String[] dieParts = expString.split("d"); + final String[] dieParts = expString.split("d"); - long right = Long.parseLong(dieParts[1]); - if(dieParts[0].equals("")) { + final long right = Long.parseLong(dieParts[1]); + if (dieParts[0].equals("")) { /* * Handle short-form expressions. */ - Die scal = new SimpleDie(1, right); - return new DieExpression(scal); - } else { - Die scal = new SimpleDie(Long.parseLong(dieParts[0]), right); + final Die scal = new SimpleDie(1, right); return new DieExpression(scal); } - } else if(fudgeDiePattern.matcher(expString).matches()) { + + final Die scal = new SimpleDie(Long.parseLong(dieParts[0]), right); + return new DieExpression(scal); + } else if (fudgeDiePattern.matcher(expString).matches()) { /* * Parse fudge dice. */ - String nDice = expString.substring(0, expString.indexOf('d')); + final String nDice = expString.substring(0, expString.indexOf('d')); return new DieExpression(new FudgeDie(Long.parseLong(nDice))); - } else if(compoundDiePattern.matcher(expString).matches()) { + } else if (compoundDiePattern.matcher(expString).matches()) { /* * Parse compound die expressions. */ - String[] dieParts = expString.split("c"); + final String[] dieParts = expString.split("c"); - DieExpression left = parseExpression(dieParts[0]); - DieExpression right = parseExpression(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final DieExpression right = parseExpression(dieParts[1]); return new DieExpression(new CompoundDie(left.scalar, right.scalar)); - } else if(compoundingDiePattern.matcher(expString).matches()) { + } else if (compoundingDiePattern.matcher(expString).matches()) { /* * Parse compounding die expressions. */ - String[] dieParts = expString.split("!!"); + final String[] dieParts = expString.split("!!"); - DieExpression left = parseExpression(dieParts[0]); - Predicate right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate right = deriveCond(dieParts[1]); - Die scal = new CompoundingDie(left.scalar, right, dieParts[1]); + final Die scal = new CompoundingDie(left.scalar, right, dieParts[1]); return new DieExpression(scal); - } else if(explodingDiePattern.matcher(expString).matches()) { + } else if (explodingDiePattern.matcher(expString).matches()) { /* * Parse exploding die expressions. */ - String[] dieParts = expString.split("!"); + final String[] dieParts = expString.split("!"); - DieExpression left = parseExpression(dieParts[0]); - Predicate right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate right = deriveCond(dieParts[1]); - DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], false); + final DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], false); return new DieExpression(lst); - } else if(penetratingDiePattern.matcher(expString).matches()) { + } else if (penetratingDiePattern.matcher(expString).matches()) { /* * Parse penetrating die expressions. */ - String[] dieParts = expString.split("p!"); + final String[] dieParts = expString.split("p!"); - DieExpression left = parseExpression(dieParts[0]); - Predicate right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate right = deriveCond(dieParts[1]); - DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], true); + final DieList lst = new ExplodingDice(left.scalar, right, dieParts[1], true); return new DieExpression(lst); - } else if(diceListPattern.matcher(expString).matches()) { + } else if (diceListPattern.matcher(expString).matches()) { /* * Parse simple die lists. */ - String[] dieParts = expString.split("dl"); + final String[] dieParts = expString.split("dl"); - DieExpression left = parseExpression(dieParts[0]); - DieExpression right = parseExpression(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final DieExpression right = parseExpression(dieParts[1]); - DieList lst = new SimpleDieList(left.scalar, right.scalar); + final DieList lst = new SimpleDieList(left.scalar, right.scalar); return new DieExpression(lst); } @@ -210,34 +210,33 @@ public class DiceBox { * * @return Whether or not the string is a valid command. */ - public static boolean isValidExpression(String exp) { - if(scalarDiePattern.matcher(exp).matches()) + public static boolean isValidExpression(final String exp) { + if (scalarDiePattern.matcher(exp).matches()) return true; - else if(simpleDiePattern.matcher(exp).matches()) + else if (simpleDiePattern.matcher(exp).matches()) return true; - else if(fudgeDiePattern.matcher(exp).matches()) + else if (fudgeDiePattern.matcher(exp).matches()) return true; - else if(compoundDiePattern.matcher(exp).matches()) + else if (compoundDiePattern.matcher(exp).matches()) return true; - else if(compoundingDiePattern.matcher(exp).matches()) + else if (compoundingDiePattern.matcher(exp).matches()) return true; - else if(explodingDiePattern.matcher(exp).matches()) + else if (explodingDiePattern.matcher(exp).matches()) return true; - else if(penetratingDiePattern.matcher(exp).matches()) + else if (penetratingDiePattern.matcher(exp).matches()) return true; - else if(diceListPattern.matcher(exp).matches()) + else if (diceListPattern.matcher(exp).matches()) return true; - else - return false; + else return false; } /* * Derive a predicate from a compare point */ - private static Predicate deriveCond(String patt) { - long num = Long.parseLong(patt.substring(1)); + private static Predicate deriveCond(final String patt) { + final long num = Long.parseLong(patt.substring(1)); - switch(patt.charAt(0)) { + switch (patt.charAt(0)) { case '<': return (roll) -> roll < num; case '=': diff --git a/dice-lang/src/bjc/dicelang/dice/DieExpression.java b/dice-lang/src/bjc/dicelang/dice/DieExpression.java index a8d793a..b114da6 100644 --- a/dice-lang/src/bjc/dicelang/dice/DieExpression.java +++ b/dice-lang/src/bjc/dicelang/dice/DieExpression.java @@ -28,7 +28,7 @@ public class DieExpression { * @param scal * The scalar value of this expression. */ - public DieExpression(Die scal) { + public DieExpression(final Die scal) { isList = false; scalar = scal; } @@ -39,17 +39,16 @@ public class DieExpression { * @param lst * The list value of this expression. */ - public DieExpression(DieList lst) { + public DieExpression(final DieList lst) { isList = true; list = lst; } @Override public String toString() { - if(isList) - return list.toString(); - else - return scalar.toString(); + if (isList) return list.toString(); + + return scalar.toString(); } /** @@ -58,9 +57,8 @@ public class DieExpression { * @return The value of the expression as a string. */ public String value() { - if(isList) - return Arrays.toString(list.roll()); - else - return Long.toString(scalar.roll()); + if (isList) return Arrays.toString(list.roll()); + + return Long.toString(scalar.roll()); } } diff --git a/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java b/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java index 928ae25..15d6572 100644 --- a/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java +++ b/dice-lang/src/bjc/dicelang/dice/ExplodingDice.java @@ -16,14 +16,14 @@ public class ExplodingDice implements DieList { /* * The source die to use. */ - private Die source; + private final Die source; /* * The conditions for exploding. */ - private Predicate explodeOn; - private String explodePattern; - private boolean explodePenetrates; + private final Predicate explodeOn; + private final String explodePattern; + private final boolean explodePenetrates; /** * Create a new exploding die. @@ -33,7 +33,7 @@ public class ExplodingDice implements DieList { * @param explode * The condition to explode on. */ - public ExplodingDice(Die src, Predicate explode) { + public ExplodingDice(final Die src, final Predicate explode) { this(src, explode, null, false); } @@ -48,7 +48,7 @@ public class ExplodingDice implements DieList { * Whether or not for explosions to penetrate (-1 to * exploded die). */ - public ExplodingDice(Die src, Predicate explode, boolean penetrate) { + public ExplodingDice(final Die src, final Predicate explode, final boolean penetrate) { this(src, explode, null, penetrate); } @@ -65,7 +65,7 @@ public class ExplodingDice implements DieList { * @param patt * The string the condition came from, for printing. */ - public ExplodingDice(Die src, Predicate explode, String patt, boolean penetrate) { + public ExplodingDice(final Die src, final Predicate explode, final String patt, final boolean penetrate) { source = src; explodeOn = explode; explodePattern = patt; @@ -84,25 +84,25 @@ public class ExplodingDice implements DieList { @Override public long[] roll() { - long res = source.roll(); + final long res = source.roll(); long oldRes = res; - List resList = new LinkedList<>(); + final List resList = new LinkedList<>(); - while(explodeOn.test(oldRes)) { + while (explodeOn.test(oldRes)) { oldRes = source.rollSingle(); - if(explodePenetrates) { + if (explodePenetrates) { oldRes -= 1; } resList.add(oldRes); } - long[] newRes = new long[resList.size() + 1]; + final long[] newRes = new long[resList.size() + 1]; newRes[0] = res; int i = 1; - for(long rll : resList) { + for (final long rll : resList) { newRes[i] = rll; i += 1; } @@ -112,9 +112,8 @@ public class ExplodingDice implements DieList { @Override public String toString() { - if(explodePattern == null) - return source + (explodePenetrates ? "p" : "") + "!"; - else - return source + (explodePenetrates ? "p" : "") + "!" + explodePattern; + if (explodePattern == null) return source + (explodePenetrates ? "p" : "") + "!"; + + return source + (explodePenetrates ? "p" : "") + "!" + explodePattern; } } diff --git a/dice-lang/src/bjc/dicelang/dice/FudgeDie.java b/dice-lang/src/bjc/dicelang/dice/FudgeDie.java index 2064a39..9457b58 100644 --- a/dice-lang/src/bjc/dicelang/dice/FudgeDie.java +++ b/dice-lang/src/bjc/dicelang/dice/FudgeDie.java @@ -7,7 +7,7 @@ package bjc.dicelang.dice; * */ public class FudgeDie implements Die { - private Die numDice; + private final Die numDice; /** * Create a new fudge die. @@ -15,7 +15,7 @@ public class FudgeDie implements Die { * @param nDice * The number of dice to roll. */ - public FudgeDie(long nDice) { + public FudgeDie(final long nDice) { numDice = new ScalarDie(nDice); } @@ -25,7 +25,7 @@ public class FudgeDie implements Die { * @param nDice * The number of dice to roll. */ - public FudgeDie(Die nDice) { + public FudgeDie(final Die nDice) { numDice = nDice; } @@ -43,9 +43,9 @@ public class FudgeDie implements Die { public long roll() { long res = 0; - long nDice = numDice.roll(); + final long nDice = numDice.roll(); - for(int i = 0; i < nDice; i++) { + for (int i = 0; i < nDice; i++) { res += rollSingle(); } diff --git a/dice-lang/src/bjc/dicelang/dice/MathDie.java b/dice-lang/src/bjc/dicelang/dice/MathDie.java index 07150cb..5feb193 100644 --- a/dice-lang/src/bjc/dicelang/dice/MathDie.java +++ b/dice-lang/src/bjc/dicelang/dice/MathDie.java @@ -29,7 +29,7 @@ public class MathDie implements Die { @Override public String toString() { - switch(this) { + switch (this) { case ADD: return "+"; case SUBTRACT: @@ -42,10 +42,10 @@ public class MathDie implements Die { } } - private MathDie.MathOp type; + private final MathDie.MathOp type; - private Die left; - private Die right; + private final Die left; + private final Die right; /** * Create a new math die. @@ -59,7 +59,7 @@ public class MathDie implements Die { * @param rght * The right operand. */ - public MathDie(MathDie.MathOp op, Die lft, Die rght) { + public MathDie(final MathDie.MathOp op, final Die lft, final Die rght) { type = op; left = lft; @@ -71,8 +71,8 @@ public class MathDie implements Die { return left.canOptimize() && right.canOptimize(); } - private long performOp(long lft, long rght) { - switch(type) { + private long performOp(final long lft, final long rght) { + switch (type) { case ADD: return lft + rght; case SUBTRACT: @@ -86,24 +86,24 @@ public class MathDie implements Die { @Override public long optimize() { - long lft = left.optimize(); - long rght = right.optimize(); + final long lft = left.optimize(); + final long rght = right.optimize(); return performOp(lft, rght); } @Override public long roll() { - long lft = left.roll(); - long rght = right.roll(); + final long lft = left.roll(); + final long rght = right.roll(); return performOp(lft, rght); } @Override public long rollSingle() { - long lft = left.rollSingle(); - long rght = right.rollSingle(); + final long lft = left.rollSingle(); + final long rght = right.rollSingle(); return performOp(lft, rght); } diff --git a/dice-lang/src/bjc/dicelang/dice/ScalarDie.java b/dice-lang/src/bjc/dicelang/dice/ScalarDie.java index 3fed00c..e7b5afa 100644 --- a/dice-lang/src/bjc/dicelang/dice/ScalarDie.java +++ b/dice-lang/src/bjc/dicelang/dice/ScalarDie.java @@ -7,7 +7,7 @@ package bjc.dicelang.dice; * */ public class ScalarDie implements Die { - private long val; + private final long val; /** * Create a new scalar die with a set value. @@ -15,7 +15,7 @@ public class ScalarDie implements Die { * @param vl * The value to use. */ - public ScalarDie(long vl) { + public ScalarDie(final long vl) { val = vl; } diff --git a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java b/dice-lang/src/bjc/dicelang/dice/SimpleDie.java index 35921d0..5610535 100644 --- a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java +++ b/dice-lang/src/bjc/dicelang/dice/SimpleDie.java @@ -7,8 +7,8 @@ package bjc.dicelang.dice; * */ public class SimpleDie implements Die { - private Die numDice; - private Die diceSize; + private final Die numDice; + private final Die diceSize; /** * Create a new dice group. @@ -19,7 +19,7 @@ public class SimpleDie implements Die { * @param size * The size of the dice. */ - public SimpleDie(long nDice, long size) { + public SimpleDie(final long nDice, final long size) { this(new ScalarDie(nDice), new ScalarDie(size)); } @@ -32,7 +32,7 @@ public class SimpleDie implements Die { * @param size * The size of the dice. */ - public SimpleDie(Die nDice, long size) { + public SimpleDie(final Die nDice, final long size) { this(nDice, new ScalarDie(size)); } @@ -45,7 +45,7 @@ public class SimpleDie implements Die { * @param size * The size of the dice. */ - public SimpleDie(long nDice, Die size) { + public SimpleDie(final long nDice, final Die size) { this(new ScalarDie(nDice), size); } @@ -58,37 +58,35 @@ public class SimpleDie implements Die { * @param size * The size of the dice. */ - public SimpleDie(Die nDice, Die size) { + public SimpleDie(final Die nDice, final Die size) { numDice = nDice; diceSize = size; } @Override public boolean canOptimize() { - if(diceSize.canOptimize() && diceSize.optimize() <= 1) - return numDice.canOptimize(); - else - return false; + if (diceSize.canOptimize() && diceSize.optimize() <= 1) return numDice.canOptimize(); + + return false; } @Override public long optimize() { - long optSize = diceSize.optimize(); + final long optSize = diceSize.optimize(); + + if (optSize == 0) return 0; - if(optSize == 0) - return 0; - else - return numDice.optimize(); + return numDice.optimize(); } @Override public long roll() { long total = 0; - long nDice = numDice.roll(); - long dSize = diceSize.roll(); + final long nDice = numDice.roll(); + final long dSize = diceSize.roll(); - for(int i = 0; i < nDice; i++) { + for (int i = 0; i < nDice; i++) { total += Math.abs(DiceBox.rng.nextLong()) % dSize + 1; } diff --git a/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java b/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java index 7b1ac76..f382361 100644 --- a/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java +++ b/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java @@ -7,8 +7,8 @@ package bjc.dicelang.dice; * */ public class SimpleDieList implements DieList { - private Die numDice; - private Die size; + private final Die numDice; + private final Die size; /** * Create a new list of dice. @@ -19,27 +19,26 @@ public class SimpleDieList implements DieList { * @param sze * The size of dice in the list. */ - public SimpleDieList(Die nDice, Die sze) { + public SimpleDieList(final Die nDice, final Die sze) { numDice = nDice; size = sze; } @Override public boolean canOptimize() { - if(size.canOptimize() && size.optimize() <= 1) - return numDice.canOptimize(); - else - return false; + if (size.canOptimize() && size.optimize() <= 1) return numDice.canOptimize(); + + return false; } @Override public long[] optimize() { - int sze = (int) numDice.optimize(); - long res = size.optimize(); + final int sze = (int) numDice.optimize(); + final long res = size.optimize(); - long[] ret = new long[sze]; + final long[] ret = new long[sze]; - for(int i = 0; i < sze; i++) { + for (int i = 0; i < sze; i++) { ret[i] = res; } @@ -48,11 +47,11 @@ public class SimpleDieList implements DieList { @Override public long[] roll() { - int num = (int) numDice.roll(); + final int num = (int) numDice.roll(); - long[] ret = new long[num]; + final long[] ret = new long[num]; - for(int i = 0; i < num; i++) { + for (int i = 0; i < num; i++) { ret[i] = size.roll(); } -- cgit v1.2.3