From a166818ea312c83489d9397165bd16aa61fe5438 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 6 Oct 2020 19:14:55 -0400 Subject: Info cleanup --- .../java/bjc/dicelang/dicev2/PolyhedralDie.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'dice/src/main/java/bjc/dicelang/dicev2/PolyhedralDie.java') diff --git a/dice/src/main/java/bjc/dicelang/dicev2/PolyhedralDie.java b/dice/src/main/java/bjc/dicelang/dicev2/PolyhedralDie.java index be78279..1485c5e 100644 --- a/dice/src/main/java/bjc/dicelang/dicev2/PolyhedralDie.java +++ b/dice/src/main/java/bjc/dicelang/dicev2/PolyhedralDie.java @@ -2,10 +2,28 @@ package bjc.dicelang.dicev2; import java.util.Random; +/** + * Polyhedral die pool + * @author Ben Culkin + * + */ public class PolyhedralDie extends Die { + /** + * The number of dice in the pool. + */ public final int numDice; + + /** + * The number of sides on each die. + */ public final int numSides; + /** + * Create a new polyhedral die pool. + * + * @param numDice The number of dice in the pool. + * @param numSides The number of side on each die. + */ public PolyhedralDie(int numDice, int numSides) { super(); @@ -13,6 +31,13 @@ public class PolyhedralDie extends Die { this.numSides = numSides; } + /** + * Create a new polyhedral die pool. + * + * @param rnd The random number generator to use. + * @param numDice The number of dice in the pool. + * @param numSides The number of side on each die. + */ public PolyhedralDie(Random rnd, int numDice, int numSides) { super(rnd); @@ -20,6 +45,7 @@ public class PolyhedralDie extends Die { this.numSides = numSides; } + @Override public long[] roll() { long[] res = new long[numDice]; @@ -30,15 +56,18 @@ public class PolyhedralDie extends Die { return res; } + @Override public long rollSingle() { /* nextInt is from 0 (inclusive) to numSides (exclusive) */ return rng.nextInt(numSides) + 1; } + @Override public boolean canOptimize() { return numSides <= 1 || numDice == 0; } + @Override public long optimize() { if(numDice == 0 || numSides == 0) return 0; -- cgit v1.2.3