summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java
diff options
context:
space:
mode:
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java')
-rw-r--r--dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java b/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java
index 21fca1d..9fababa 100644
--- a/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java
+++ b/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java
@@ -2,21 +2,44 @@ package bjc.dicelang.dicev2;
import java.util.Random;
+/**
+ * Create a set of Fudge dice.
+ *
+ * Fudge dice are dice which can roll -1, 0 or 1.
+ *
+ * @author Ben Culkin
+ *
+ */
public class FudgeDie extends Die {
+ /**
+ * The number of dice to roll.
+ */
public final int numDice;
+ /**
+ * Create a new pool for fudge dice.
+ *
+ * @param numDice The number of dice in the pool.
+ */
public FudgeDie(int numDice) {
super();
this.numDice = numDice;
}
+ /**
+ * Create a new pool for fudge dice.
+ *
+ * @param rnd The random number generator to use.
+ * @param numDice The number of dice in the pool.
+ */
public FudgeDie(Random rnd, int numDice) {
super(rnd);
this.numDice = numDice;
}
+ @Override
public long[] roll() {
long[] res = new long[numDice];
@@ -27,15 +50,18 @@ public class FudgeDie extends Die {
return res;
}
+ @Override
public long rollSingle() {
/* Return an int in the range [-1, 1] */
return rng.nextInt(3) - 1;
}
+ @Override
public boolean canOptimize() {
return numDice == 0;
}
+ @Override
public long optimize() {
return 0;
}