summaryrefslogtreecommitdiff
path: root/dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java
diff options
context:
space:
mode:
authorbjcul <bjcul@192.168.1.26>2022-09-27 19:15:16 -0400
committerbjcul <bjcul@192.168.1.26>2022-09-27 19:15:16 -0400
commite151e8490ed40231399618bf2dc4204c2ce99a82 (patch)
treedce61b6e1a7f20bcba8411d412c83692e6019ed8 /dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java
parentda0b133cedf9fe4e464aadad1a451dacbf4d2b30 (diff)
Merge branch 'master' of git@github.com:bculkin2442/dice-lang.git
Diffstat (limited to 'dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java')
-rw-r--r--dice/src/example/java/bjc/dicelang/neodice/commands/RollCommand.java38
1 files changed, 19 insertions, 19 deletions
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);
}
}