summaryrefslogtreecommitdiff
path: root/dice/src/example/java/bjc/dicelang
diff options
context:
space:
mode:
Diffstat (limited to 'dice/src/example/java/bjc/dicelang')
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/DieBoxCLI.java10
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/commands/PolyhedralDieCommand.java32
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java38
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java2
4 files changed, 41 insertions, 41 deletions
diff --git a/dice/src/example/java/bjc/dicelang/neodice/DieBoxCLI.java b/dice/src/example/java/bjc/dicelang/neodice/DieBoxCLI.java
index 2c67e7f..edb7e5f 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/DieBoxCLI.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/DieBoxCLI.java
@@ -241,7 +241,7 @@ public class DieBoxCLI {
}
}
- private DieBoxException handleUnknownCommand(String command) {
+ private static DieBoxException handleUnknownCommand(String command) {
StringBuilder msg = new StringBuilder("Unknown command ");
msg.append(command);
msg.append(".");
@@ -255,7 +255,7 @@ public class DieBoxCLI {
return new DieBoxException(msg.toString());
}
- private StatementValue parseActualLiteral(String litText) {
+ private static StatementValue parseActualLiteral(String litText) {
if (INT_PATTERN.matcher(litText).matches()) {
try {
int val = Integer.parseInt(litText);
@@ -266,9 +266,9 @@ public class DieBoxCLI {
"Improper integer literal (%s)",
litText);
}
- } else {
- throw new DieBoxException("Unknown literal format (%s)",
- litText);
}
+
+ throw new DieBoxException("Unknown literal format (%s)",
+ litText);
}
} \ No newline at end of file
diff --git a/dice/src/example/java/bjc/dicelang/neodice/commands/PolyhedralDieCommand.java b/dice/src/example/java/bjc/dicelang/neodice/commands/PolyhedralDieCommand.java
index e0f66b1..ed74507 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/commands/PolyhedralDieCommand.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/commands/PolyhedralDieCommand.java
@@ -18,24 +18,24 @@ public class PolyhedralDieCommand implements Command {
public StatementValue execute(Iterator<String> words, DieBoxCLI state) {
if (!words.hasNext()) {
throw new DieBoxException("Number of sides to polyhedral-die must be provided");
- } else {
- StatementValue sideValue = state.runStatement(words);
+ }
+
+ StatementValue sideValue = state.runStatement(words);
+
+ if (sideValue.type == INTEGER) {
+ int numSides = ((IntegerStatementValue)sideValue).value;
+
+ if (numSides < 0) throw new DieBoxException("Number of sides to polyhedral-die was not valid (must be less than 0, was %d)", numSides);
+
+ Die<StatementValue> die = Die
+ .polyhedral(numSides)
+ .transform(IntegerStatementValue::new);
- if (sideValue.type == INTEGER) {
- int numSides = ((IntegerStatementValue)sideValue).value;
-
- if (numSides < 0) throw new DieBoxException("Number of sides to polyhedral-die was not valid (must be less than 0, was %d)", numSides);
-
- Die<StatementValue> die = Die
- .polyhedral(numSides)
- .transform(IntegerStatementValue::new);
-
- return new DieStatementValue(INTEGER, die);
- } else {
- throw new DieBoxException("Number of sides to polyhedral-die wasn't an integer (was %s, of type %s)",
- sideValue, sideValue.type);
- }
+ return new DieStatementValue(INTEGER, die);
}
+
+ throw new DieBoxException("Number of sides to polyhedral-die wasn't an integer (was %s, of type %s)",
+ sideValue, sideValue.type);
}
@Override
diff --git a/dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java b/dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java
index cec7c48..275c53e 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java
@@ -18,26 +18,26 @@ public class RollCommand implements Command {
public StatementValue execute(Iterator<String> words, DieBoxCLI state) {
if (!words.hasNext()) {
throw new DieBoxException("Roll must be provided an argument to roll");
- } else {
- StatementValue toRoll = state.runStatement(words);
+ }
+
+ StatementValue toRoll = state.runStatement(words);
+
+ if (toRoll.type == DIE) {
+ DieStatementValue die = (DieStatementValue) toRoll;
+
+ return die.value.roll(state.rng);
+ } else if (toRoll.type == DIEPOOL) {
+ DiePoolStatementValue pool = (DiePoolStatementValue) toRoll;
- if (toRoll.type == DIE) {
- DieStatementValue die = (DieStatementValue) toRoll;
-
- return die.value.roll(state.rng);
- } else if (toRoll.type == DIEPOOL) {
- DiePoolStatementValue pool = (DiePoolStatementValue) toRoll;
-
- StatementValue[] values = pool.value
- .roll(state.rng)
- .toArray((sz) -> new StatementValue[sz]);
-
- return new ArrayStatementValue<>(pool.elementType,
- values);
- } else {
- throw new DieBoxException("Roll was provided something that wasn't rollable (only DIE and DIEPOOL objects are rollable) (was %s, of type %s)",
- toRoll, toRoll.type);
- }
+ StatementValue[] values = pool.value
+ .roll(state.rng)
+ .toArray((sz) -> new StatementValue[sz]);
+
+ return new ArrayStatementValue<>(pool.elementType,
+ values);
+ } else {
+ throw new DieBoxException("Roll was provided something that wasn't rollable (only DIE and DIEPOOL objects are rollable) (was %s, of type %s)",
+ toRoll, toRoll.type);
}
}
diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
index 114475c..171dac6 100644
--- a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
+++ b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java
@@ -7,7 +7,7 @@ import java.util.*;
import bjc.dicelang.neodice.*;
/**
- * A StatementValue that represesnts a die pool
+ * A StatementValue that represents a die pool
* @author Ben Culkin
*
*/