diff options
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java')
| -rw-r--r-- | dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java | 26 |
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; } |
