diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-04-11 21:48:50 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2017-04-11 21:48:50 -0400 |
| commit | 57f9a3bfdad20bead5b35ee540e8790e80a6b9a4 (patch) | |
| tree | 1e7184825eaa8d22077b505513df3e0d8502fb39 /dice-lang/src/bjc/dicelang/dice | |
| parent | 675ae734dd7b7a47d93ee3527dd1eb7195be047b (diff) | |
Cleanup
Diffstat (limited to 'dice-lang/src/bjc/dicelang/dice')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/CompoundDie.java | 6 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/CompoundingDie.java | 21 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/DiceBox.java | 105 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/DieExpression.java | 18 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/ExplodingDice.java | 33 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/FudgeDie.java | 10 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/MathDie.java | 26 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/ScalarDie.java | 4 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/SimpleDie.java | 34 | ||||
| -rw-r--r-- | dice-lang/src/bjc/dicelang/dice/SimpleDieList.java | 27 |
10 files changed, 138 insertions, 146 deletions
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<Long> compoundOn;
- private String compoundPattern;
+ private final Predicate<Long> 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<Long> compound) {
+ public CompoundingDie(final Die src, final Predicate<Long> 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<Long> compound, String patt) {
+ public CompoundingDie(final Die src, final Predicate<Long> 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<Long> right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate<Long> 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<Long> right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate<Long> 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<Long> right = deriveCond(dieParts[1]); + final DieExpression left = parseExpression(dieParts[0]); + final Predicate<Long> 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<Long> deriveCond(String patt) { - long num = Long.parseLong(patt.substring(1)); + private static Predicate<Long> 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<Long> explodeOn;
- private String explodePattern;
- private boolean explodePenetrates;
+ private final Predicate<Long> 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<Long> explode) {
+ public ExplodingDice(final Die src, final Predicate<Long> 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<Long> explode, boolean penetrate) {
+ public ExplodingDice(final Die src, final Predicate<Long> 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<Long> explode, String patt, boolean penetrate) {
+ public ExplodingDice(final Die src, final Predicate<Long> 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<Long> resList = new LinkedList<>();
+ final List<Long> 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(); } |
