diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-05-30 15:57:41 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-05-30 16:23:46 -0300 |
| commit | 09f161528619f9396aa07c784c15bc1d33f5c047 (patch) | |
| tree | a74b440865d4861a850f515f35e6f256217183e4 /dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java | |
| parent | 0029bfc3cf4fdee2bcd86689a8d9a2a8f4dd553a (diff) | |
Start work on dice rewrite
This starts work on a rewrite of the dice rolling system to better adapt
it for more features
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java')
| -rw-r--r-- | dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java b/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java new file mode 100644 index 0000000..21fca1d --- /dev/null +++ b/dice/src/main/java/bjc/dicelang/dicev2/FudgeDie.java @@ -0,0 +1,42 @@ +package bjc.dicelang.dicev2; + +import java.util.Random; + +public class FudgeDie extends Die { + public final int numDice; + + public FudgeDie(int numDice) { + super(); + + this.numDice = numDice; + } + + public FudgeDie(Random rnd, int numDice) { + super(rnd); + + this.numDice = numDice; + } + + public long[] roll() { + long[] res = new long[numDice]; + + for(int i = 0; i < numDice; i++) { + res[i] = rollSingle(); + } + + return res; + } + + public long rollSingle() { + /* Return an int in the range [-1, 1] */ + return rng.nextInt(3) - 1; + } + + public boolean canOptimize() { + return numDice == 0; + } + + public long optimize() { + return 0; + } +} |
