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/SimpleDieList.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 dice-lang/src/bjc/dicelang/dice/SimpleDieList.java (limited to 'dice-lang/src/bjc/dicelang/dice/SimpleDieList.java') diff --git a/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java b/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java new file mode 100644 index 0000000..cca1f04 --- /dev/null +++ b/dice-lang/src/bjc/dicelang/dice/SimpleDieList.java @@ -0,0 +1,48 @@ +package bjc.dicelang.dice; + +public class SimpleDieList implements DieList { + private Die numDice; + private Die size; + + public SimpleDieList(Die nDice, Die sze) { + numDice = nDice; + size = sze; + } + + public boolean canOptimize() { + if(size.canOptimize() && size.optimize() <= 1) { + return numDice.canOptimize(); + } else { + return false; + } + } + + public long[] optimize() { + int sze = (int)numDice.optimize(); + long res = size.optimize(); + + long[] ret = new long[sze]; + + for(int i = 0; i < sze; i++) { + ret[i] = res; + } + + return ret; + } + + public long[] roll() { + int num = (int)numDice.roll(); + + long[] ret = new long[num]; + + for(int i = 0; i < num; i++) { + ret[i] = size.roll(); + } + + return ret; + } + + public String toString() { + return numDice.toString() + "dl" + size.toString(); + } +} \ No newline at end of file -- cgit v1.2.3