summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/dicev2/Die.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-30 15:57:41 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-30 16:23:46 -0300
commit09f161528619f9396aa07c784c15bc1d33f5c047 (patch)
treea74b440865d4861a850f515f35e6f256217183e4 /dice/src/main/java/bjc/dicelang/dicev2/Die.java
parent0029bfc3cf4fdee2bcd86689a8d9a2a8f4dd553a (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/Die.java')
-rw-r--r--dice/src/main/java/bjc/dicelang/dicev2/Die.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/dice/src/main/java/bjc/dicelang/dicev2/Die.java b/dice/src/main/java/bjc/dicelang/dicev2/Die.java
new file mode 100644
index 0000000..d688cfa
--- /dev/null
+++ b/dice/src/main/java/bjc/dicelang/dicev2/Die.java
@@ -0,0 +1,27 @@
+package bjc.dicelang.dicev2;
+
+import java.util.Random;
+
+public abstract class Die {
+ private static final Random BASE = new Random();
+
+ protected Random rng;
+
+ protected Die() {
+ rng = BASE;
+ }
+
+ protected Die(Random rnd) {
+ rng = rnd;
+ }
+
+ public void setRandom(Random rnd) {
+ rng = rnd;
+ }
+
+ public abstract long[] roll();
+ public abstract long rollSingle();
+
+ public abstract boolean canOptimize();
+ public abstract long optimize();
+}