diff options
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v2/dice/FudgeDie.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/v2/dice/FudgeDie.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/dice-lang/src/bjc/dicelang/v2/dice/FudgeDie.java b/dice-lang/src/bjc/dicelang/v2/dice/FudgeDie.java new file mode 100644 index 0000000..4c8c52a --- /dev/null +++ b/dice-lang/src/bjc/dicelang/v2/dice/FudgeDie.java @@ -0,0 +1,37 @@ +package bjc.dicelang.v2.dice;
+
+public class FudgeDie implements Die {
+ private Die numDice;
+
+ public FudgeDie(long nDice) {
+ numDice = new ScalarDie(nDice);
+ }
+
+ public boolean canOptimize() {
+ return numDice.canOptimize() && numDice.optimize() == 0;
+ }
+
+ public long optimize() {
+ return 0;
+ }
+
+ public long roll() {
+ long res = 0;
+
+ long nDice = numDice.roll();
+
+ for(int i = 0; i < nDice; i++) {
+ res += rollSingle();
+ }
+
+ return res;
+ }
+
+ public long rollSingle() {
+ return DiceBox.rng.nextInt(3) - 1;
+ }
+
+ public String toString() {
+ return numDice + "dF";
+ }
+}
\ No newline at end of file |
