summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/dicev2/ScalarDie.java
blob: af2829e3f428c2eb69fbd6c4ef5cdfeb7b41b2f6 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package bjc.dicelang.dicev2;

/**
 * Die which represents a single number.
 * @author Ben Culkin
 *
 */
public class ScalarDie extends Die {
	/**
	 * The value this die represents.
	 */
	public final long val;

	/**
	 * Create a new die representing a single number.
	 * 
	 * @param val The number for the die.
	 */
	public ScalarDie(long val) {
		super();

		this.val = val;
	}

	@Override
	public long[] roll() {
		return new long[] { rollSingle() };
	}

	@Override
	public long rollSingle() {
		return val;
	}

	@Override
	public boolean canOptimize() {
		return true;
	}

	@Override
	public long optimize() {
		return val;
	}
}