diff options
| author | 2014-03-18 11:27:49 +0100 | |
|---|---|---|
| committer | 2014-03-18 11:27:49 +0100 | |
| commit | b94eced787742cf218dbc57f73dcbdfee26e500d (patch) | |
| tree | 2dd87f0dbe411b82c16af03c62bff19b0aad65b6 | |
| parent | 4286112189c56bca4a17ccceb6d0991d1e339e9b (diff) | |
| download | OneRoll-b94eced787742cf218dbc57f73dcbdfee26e500d.tar.gz OneRoll-b94eced787742cf218dbc57f73dcbdfee26e500d.zip | |
Update diceparser.cpp
adding support of default dice value: 4k3 ....
| -rw-r--r-- | diceparser.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/diceparser.cpp b/diceparser.cpp index f8fb477..6bec12d 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -14,6 +14,8 @@ #include "node/explosedicenode.h" #include "node/parenthesesnode.h" +#define DEFAULT_FACES_NUMBER 10 + DiceParser::DiceParser() { m_parsingToolbox = new ParsingToolBox(); @@ -319,6 +321,24 @@ bool DiceParser::readOperator(QString& str,ExecutionNode* previous) else { delete node; + ExecutionNode* nodeExec = new DiceRollerNode(DEFAULT_FACES_NUMBER); + ExecutionNode* nodeExec2 = nodeExec; + bool readOptionSuccessed=false; + while(readOption(str,nodeExec)) + { + nodeExec = getLatestNode(nodeExec); + readOptionSuccessed = true; + } + if(readOptionSuccessed) + { + previous->setNextNode(nodeExec2); + } + else + { + delete nodeExec; + nodeExec = NULL; + nodeExec2 = NULL; + } } return false; } |