diff options
Diffstat (limited to 'dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java')
| -rw-r--r-- | dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java b/dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java new file mode 100644 index 0000000..68a0da5 --- /dev/null +++ b/dice-lang/src/bjc/dicelang/v1/examples/DiceExpressionParserTest.java @@ -0,0 +1,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(); + } +} |
