summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/dicev2/Die.java
blob: d688cfa2763c8b938343379470a2f4dddb9cdc81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();
}