summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/utils/dice/ComplexDice.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-03-28 08:47:23 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-03-28 08:47:23 -0400
commit62e94ef994a59e87543445bb3c0ce0a37017a70a (patch)
treedfa1a488d3929e3f93e2a91669cdaf97c6d707f3 /dice-lang/src/bjc/utils/dice/ComplexDice.java
parent78d9c539e25f16fd15f06c2b2c48c0ad37a21540 (diff)
Renamed packages to suit updated project
Diffstat (limited to 'dice-lang/src/bjc/utils/dice/ComplexDice.java')
-rw-r--r--dice-lang/src/bjc/utils/dice/ComplexDice.java113
1 files changed, 0 insertions, 113 deletions
diff --git a/dice-lang/src/bjc/utils/dice/ComplexDice.java b/dice-lang/src/bjc/utils/dice/ComplexDice.java
deleted file mode 100644
index 226f9fd..0000000
--- a/dice-lang/src/bjc/utils/dice/ComplexDice.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package bjc.utils.dice;
-
-/**
- * Implements a collection of one or more of a particular die, where the
- * number of dice in the group is variable.
- *
- * @author ben
- *
- */
-public class ComplexDice implements IDiceExpression {
- /**
- * Create a dice from a string expression
- *
- * @param dice
- * The string to parse the dice from
- * @return A dice group parsed from the string
- */
- public static ComplexDice fromString(String dice) {
- /*
- * Split it on the dice type marker
- */
- String[] strangs = dice.split("d");
-
- try {
- /*
- * Create the actual dice
- */
- return new ComplexDice(
- new ScalarDie(Integer.parseInt(strangs[0])),
- new Die(Integer.parseInt(strangs[1])));
- } catch (NumberFormatException nfex) {
- /*
- * Tell the user the expression is invalid
- */
- throw new IllegalArgumentException(
- "Attempted to create a dice using something that's not"
- + " an integer: " + strangs[0] + " and "
- + strangs[1] + " are likely culprits.");
- }
- }
-
- /**
- * The die being rolled
- */
- private IDiceExpression die;
-
- /**
- * The number of the specified die to roll
- */
- private IDiceExpression nDice;
-
- /**
- * Create a new collection of dice
- *
- * @param nDce
- * The number of dice in the collection
- * @param de
- * The type of dice the collection is composed of
- */
- public ComplexDice(IDiceExpression nDce, IDiceExpression de) {
- nDice = nDce;
- die = de;
- }
-
- /**
- * Create a new collection of dice
- *
- * @param nSides
- * The number of dice in the collection
- * @param de
- * The type of dice the collection is composed of
- */
- public ComplexDice(int nSides, int de) {
- nDice = new ScalarDie(nSides);
- die = new Die(de);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see bjc.utils.dice.IDiceExpression#roll()
- */
- @Override
- public int roll() {
- int res = 0;
-
- /*
- * Add the results of rolling each die
- */
- int nRoll = nDice.roll();
-
- for (int i = 0; i < nRoll; i++) {
- res += die.roll();
- }
-
- return res;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- if (nDice instanceof ScalarDie && die instanceof Die) {
- return nDice.toString() + die.toString();
- } else {
- return "complex[n=" + nDice.toString() + ", d="
- + die.toString() + "]";
- }
- }
-}