From 36e0911c6ec27707a74f0b90b1052a16374243ea Mon Sep 17 00:00:00 2001 From: bjculkin Date: Wed, 1 Mar 2017 10:13:41 -0500 Subject: Package reorganization --- dice-lang/src/bjc/dicelang/dice/FudgeDie.java | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 dice-lang/src/bjc/dicelang/dice/FudgeDie.java (limited to 'dice-lang/src/bjc/dicelang/dice/FudgeDie.java') diff --git a/dice-lang/src/bjc/dicelang/dice/FudgeDie.java b/dice-lang/src/bjc/dicelang/dice/FudgeDie.java new file mode 100644 index 0000000..ca4fb73 --- /dev/null +++ b/dice-lang/src/bjc/dicelang/dice/FudgeDie.java @@ -0,0 +1,37 @@ +package bjc.dicelang.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 -- cgit v1.2.3