diff options
| author | 2017-12-22 01:17:04 +0100 | |
|---|---|---|
| committer | 2017-12-22 01:17:04 +0100 | |
| commit | a9c56795316ad6f9455df446546ac85264a5ac3c (patch) | |
| tree | 4cf99ea5ab70c1c8a79e77f3384f05a5985d40f8 /diceroller.cpp | |
| parent | b2e4afb2cb2a94affd4865645dce745533b84d28 (diff) | |
| download | OneRoll-a9c56795316ad6f9455df446546ac85264a5ac3c.tar.gz OneRoll-a9c56795316ad6f9455df446546ac85264a5ac3c.zip | |
-Add item to roll dice inside charactersheet and test it.
Diffstat (limited to 'diceroller.cpp')
| -rw-r--r-- | diceroller.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/diceroller.cpp b/diceroller.cpp index 56d5097..ff2c5e9 100644 --- a/diceroller.cpp +++ b/diceroller.cpp @@ -20,7 +20,6 @@ #include "diceroller.h" DiceRoller::DiceRoller() - : m_diceparser(new DiceParser()) { } @@ -61,7 +60,7 @@ QString DiceRoller::diceToText(QList<ExportedDiceResult>& diceList) for(auto dice : diceList) { QStringList resultGlobal; - foreach(int face, dice.keys()) + for(int face: dice.keys()) { QStringList result; ListDiceResult diceResult = dice.value(face); @@ -105,23 +104,23 @@ QString DiceRoller::diceToText(QList<ExportedDiceResult>& diceList) } void DiceRoller::start() { - if(m_diceparser->parseLine(m_command)) + if(m_diceparser.parseLine(m_command)) { - m_diceparser->start(); - if(m_diceparser->getErrorMap().isEmpty()) + m_diceparser.start(); + if(m_diceparser.getErrorMap().isEmpty()) { bool homogeneous; QList<ExportedDiceResult> list; - m_diceparser->getLastDiceResult(list,homogeneous); + m_diceparser.getLastDiceResult(list,homogeneous); QString diceText = diceToText(list); QString scalarText; QString str; qreal result = 0; QString resultStr; - if(m_diceparser->hasIntegerResultNotInFirst()) + if(m_diceparser.hasIntegerResultNotInFirst()) { - auto values = m_diceparser->getLastIntegerResults(); + auto values = m_diceparser.getLastIntegerResults(); QStringList strLst; for(auto val : values ) { @@ -132,7 +131,7 @@ void DiceRoller::start() } else if(!list.isEmpty()) { - auto values = m_diceparser->getSumOfDiceResult(); + auto values = m_diceparser.getSumOfDiceResult(); QStringList strLst; for(auto val : values ) { @@ -142,18 +141,22 @@ void DiceRoller::start() scalarText = QString("%1").arg(strLst.join(',')); } - if(m_diceparser->hasStringResult()) + if(m_diceparser.hasStringResult()) { bool ok; - QStringList allStringlist = m_diceparser->getAllStringResult(ok); + QStringList allStringlist = m_diceparser.getAllStringResult(ok); QString stringResult = allStringlist.join(" ; "); stringResult.replace("%1",scalarText); stringResult.replace("%2",diceText.trimmed()); str = stringResult; } - if(!m_diceparser->getComment().isEmpty()) + else + { + resultStr = scalarText; + } + if(!m_diceparser.getComment().isEmpty()) { - resultStr+=m_diceparser->getComment()+"\n"; + resultStr+=m_diceparser.getComment()+"\n"; } resultStr += str+"\n"; m_resultStr = resultStr; @@ -166,9 +169,9 @@ void DiceRoller::start() } - if(!m_diceparser->getErrorMap().isEmpty()) + if(!m_diceparser.getErrorMap().isEmpty()) { - auto errors = m_diceparser->getErrorMap(); + auto errors = m_diceparser.getErrorMap(); setError(errors.first()); } |