summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
diff options
context:
space:
mode:
Diffstat (limited to 'dice-lang/src/bjc/dicelang/dice/SimpleDie.java')
-rw-r--r--dice-lang/src/bjc/dicelang/dice/SimpleDie.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java b/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
deleted file mode 100644
index 6cae423..0000000
--- a/dice-lang/src/bjc/dicelang/dice/SimpleDie.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package bjc.dicelang.dice;
-
-/**
- * A simple group of dice.
- *
- * @author EVE
- *
- */
-public class SimpleDie implements Die {
- /* The number of dice to roll. */
- private final Die numDice;
- /*
- * The size of each dice to roll.
- *
- * Rolled once per role, not once for each dice rolled.
- *
- * @NOTE
- * Would having some way to roll it once for each dice rolled be
- * useful in any sort of case?
- */
- private final Die diceSize;
-
- /**
- * Create a new dice group.
- *
- * @param nDice
- * The number of dice.
- *
- * @param size
- * The size of the dice.
- */
- public SimpleDie(final long nDice, final long size) {
- this(new ScalarDie(nDice), new ScalarDie(size));
- }
-
- /**
- * Create a new dice group.
- *
- * @param nDice
- * The number of dice.
- *
- * @param size
- * The size of the dice.
- */
- public SimpleDie(final Die nDice, final long size) {
- this(nDice, new ScalarDie(size));
- }
-
- /**
- * Create a new dice group.
- *
- * @param nDice
- * The number of dice.
- *
- * @param size
- * The size of the dice.
- */
- public SimpleDie(final long nDice, final Die size) {
- this(new ScalarDie(nDice), size);
- }
-
- /**
- * Create a new dice group.
- *
- * @param nDice
- * The number of dice.
- *
- * @param size
- * The size of the dice.
- */
- public SimpleDie(final Die nDice, final Die size) {
- numDice = nDice;
- diceSize = size;
- }
-
- @Override
- public boolean canOptimize() {
- if (diceSize.canOptimize() && diceSize.optimize() <= 1) {
- return numDice.canOptimize();
- }
-
- return false;
- }
-
- @Override
- public long optimize() {
- final long optSize = diceSize.optimize();
-
- if (optSize == 0) {
- return 0;
- }
-
- return numDice.optimize();
- }
-
- @Override
- public long roll() {
- long total = 0;
-
- final long nDice = numDice.roll();
- final long dSize = diceSize.roll();
-
- for (int i = 0; i < nDice; i++) {
- total += Math.abs(DiceBox.rng.nextLong()) % dSize + 1;
- }
-
- return total;
- }
-
- @Override
- public long rollSingle() {
- return Math.abs(DiceBox.rng.nextLong()) % diceSize.roll() + 1;
- }
-
- @Override
- public String toString() {
- return numDice + "d" + diceSize;
- }
-}