summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
diff options
context:
space:
mode:
authorbjculkin <bjculkin@mix.wvu.edu>2017-04-11 17:51:13 -0400
committerbjculkin <bjculkin@mix.wvu.edu>2017-04-11 17:51:13 -0400
commit40858cee415643769ee5f6216b0cd4335996ff2f (patch)
tree86b1c334fa2e5b79cddc16984f5ad43c3c72e41f /dice-lang/src/bjc/dicelang/dice/SimpleDie.java
parent767ca1b248da19b754d42a814b71b43ef16090be (diff)
General cleanup and fixes
Diffstat (limited to 'dice-lang/src/bjc/dicelang/dice/SimpleDie.java')
-rw-r--r--dice-lang/src/bjc/dicelang/dice/SimpleDie.java173
1 files changed, 106 insertions, 67 deletions
diff --git a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java b/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
index f8dd945..68050e0 100644
--- a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
+++ b/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
@@ -1,68 +1,107 @@
-package bjc.dicelang.dice;
-
-public class SimpleDie implements Die {
- private Die numDice;
- private Die diceSize;
-
- public SimpleDie(long nDice, long size) {
- numDice = new ScalarDie(nDice);
- diceSize = new ScalarDie(size);
- }
-
- public SimpleDie(Die nDice, long size) {
- numDice = nDice;
- diceSize = new ScalarDie(size);
- }
-
- public SimpleDie(long nDice, Die size) {
- numDice = new ScalarDie(nDice);
- diceSize = size;
- }
-
- public SimpleDie(Die nDice, Die size) {
- numDice = nDice;
- diceSize = size;
- }
-
- @Override
- public boolean canOptimize() {
- if(diceSize.canOptimize() && diceSize.optimize() <= 1)
- return numDice.canOptimize();
- else
- return false;
- }
-
- @Override
- public long optimize() {
- long optSize = diceSize.optimize();
-
- if(optSize == 0)
- return 0;
- else
- return numDice.optimize();
- }
-
- @Override
- public long roll() {
- long total = 0;
-
- long nDice = numDice.roll();
- long dSize = diceSize.roll();
-
- for(int i = 0; i < nDice; i++) {
- total += Math.abs(DiceBox.rng.nextLong()) % dSize + 1;
- }
-
- return total;
- }
-
- @Override
- public long rollSingle() {
- return Math.abs(DiceBox.rng.nextLong()) % diceSize.roll() + 1;
- }
-
- @Override
- public String toString() {
- return numDice + "d" + diceSize;
- }
+package bjc.dicelang.dice;
+
+/**
+ * A simple group of dice.
+ *
+ * @author EVE
+ *
+ */
+public class SimpleDie implements Die {
+ private Die numDice;
+ private Die diceSize;
+
+ /**
+ * Create a new dice group.
+ *
+ * @param nDice
+ * The number of dice.
+ *
+ * @param size
+ * The size of the dice.
+ */
+ public SimpleDie(long nDice, long size) {
+ this(new ScalarDie(nDice), new ScalarDie(size));
+ }
+
+ /**
+ * Create a new dice group.
+ *
+ * @param nDice
+ * The number of dice.
+ *
+ * @param size
+ * The size of the dice.
+ */
+ public SimpleDie(Die nDice, long size) {
+ this(nDice, new ScalarDie(size));
+ }
+
+ /**
+ * Create a new dice group.
+ *
+ * @param nDice
+ * The number of dice.
+ *
+ * @param size
+ * The size of the dice.
+ */
+ public SimpleDie(long nDice, Die size) {
+ this(new ScalarDie(nDice), size);
+ }
+
+ /**
+ * Create a new dice group.
+ *
+ * @param nDice
+ * The number of dice.
+ *
+ * @param size
+ * The size of the dice.
+ */
+ public SimpleDie(Die nDice, Die size) {
+ numDice = nDice;
+ diceSize = size;
+ }
+
+ @Override
+ public boolean canOptimize() {
+ if(diceSize.canOptimize() && diceSize.optimize() <= 1)
+ return numDice.canOptimize();
+ else
+ return false;
+ }
+
+ @Override
+ public long optimize() {
+ long optSize = diceSize.optimize();
+
+ if(optSize == 0)
+ return 0;
+ else
+ return numDice.optimize();
+ }
+
+ @Override
+ public long roll() {
+ long total = 0;
+
+ long nDice = numDice.roll();
+ long dSize = diceSize.roll();
+
+ for(int i = 0; i < nDice; i++) {
+ total += Math.abs(DiceBox.rng.nextLong()) % dSize + 1;
+ }
+
+ return total;
+ }
+
+ @Override
+ public long rollSingle() {
+ return Math.abs(DiceBox.rng.nextLong()) % diceSize.roll() + 1;
+ }
+
+ @Override
+ public String toString() {
+ return numDice + "d" + diceSize;
+ }
} \ No newline at end of file