summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java
blob: 68a0da51fdcd8ce24ac0e2eb4d258cc4dbb88f96 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package bjc.dicelang.v1.examples;

import java.util.HashMap;
import java.util.Scanner;

import bjc.dicelang.v1.DiceExpressionParser;
import bjc.dicelang.v1.IDiceExpression;

/**
 * Driver class for testing expression parser
 * 
 * @author ben
 *
 */
public class DiceExpressionParserTest {
	/**
	 * Run the parser test
	 * 
	 * @param args
	 *            Unused CLI arguments
	 */
	public static void main(String[] args) {
		/*
		 * Get a scanner for input
		 */
		Scanner scn = new Scanner(System.in);

		/*
		 * Ask to enter a expression
		 */
		System.out.print("Enter dice expression: ");

		String exp = scn.nextLine();

		/*
		 * Enter amount of times to roll an expression
		 */
		System.out.print("Enter number of times to roll: ");

		int nTimes = Integer.parseInt(scn.nextLine());

		IDiceExpression dexp = DiceExpressionParser.parse(exp,
				new HashMap<>());

		/*
		 * Roll the dice a specified amount of times
		 */
		for (int i = 1; i <= nTimes; i++) {
			int roll = dexp.roll();

			System.out.println("Rolled " + roll);
		}

		/*
		 * Clean up after ourselves
		 */
		scn.close();
	}
}