aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cli
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2016-01-17 01:57:39 +0100
committerRenaud G <renaud@rolisteam.org>2016-01-17 01:57:39 +0100
commitc9df65aae8ca3234b5ec4abe08e687e1d2cd07bc (patch)
tree65605d2b5930d80c24d6aa9807c39e46a789c340 /cli
parent239051eff0ca6f28a4143c0f680c2600b2b0cb64 (diff)
parent7df15a3d41d87bbed9155a5cff2fda70acbf2f0e (diff)
downloadOneRoll-c9df65aae8ca3234b5ec4abe08e687e1d2cd07bc.tar.gz
OneRoll-c9df65aae8ca3234b5ec4abe08e687e1d2cd07bc.zip
Merge branch 'master' of github.com:Rolisteam/DiceParser
Diffstat (limited to 'cli')
-rw-r--r--cli/main.cpp130
1 files changed, 88 insertions, 42 deletions
diff --git a/cli/main.cpp b/cli/main.cpp
index 9a966ba..dd21ea7 100644
--- a/cli/main.cpp
+++ b/cli/main.cpp
@@ -43,57 +43,102 @@
QTextStream out(stdout, QIODevice::WriteOnly);
-QString diceToText(ExportedDiceResult& dice,bool highlight)
+QString diceToText(ExportedDiceResult& dice,bool highlight,bool homogeneous)
{
QStringList resultGlobal;
- foreach(int face, dice.keys())
- {
- QStringList result;
- ListDiceResult diceResult = dice.value(face);
- //patternColor = patternColorarg();
- foreach (DiceAndHighlight tmp, diceResult)
- {
- QStringList diceListStr;
- QStringList diceListChildren;
-
+ foreach(int face, dice.keys())
+ {
+ QStringList result;
+ ListDiceResult diceResult = dice.value(face);
+ //patternColor = patternColorarg();
+ foreach (DiceAndHighlight tmp, diceResult)
+ {
+ QStringList diceListStr;
+ QStringList diceListChildren;
- for(int i =0; i < tmp.first.size(); ++i)
- {
- qint64 dievalue = tmp.first[i];
- QString prefix("%1");
- if((tmp.second)&&(highlight))
+ for(int i =0; i < tmp.first.size(); ++i)
+ {
+ qint64 dievalue = tmp.first[i];
+ QString prefix("%1");
+
+ if((tmp.second)&&(highlight))
+ {
+ prefix = "\e[0;31m%1\e[0m";
+ }
+
+ if(i==0)
+ {
+ diceListStr << prefix.arg(QString::number(dievalue));
+ }
+ else
+ {
+ diceListChildren << prefix.arg(QString::number(dievalue));
+ }
+ }
+ if(!diceListChildren.isEmpty())
{
- prefix = "\e[0;31m%1\e[0m";
+ diceListStr << QString("[%1]").arg(diceListChildren.join(' '));
}
- if(i==0)
+ result << diceListStr.join(' ');
+ // qDebug() << result << tmp.first << tmp.second;
+ }
+
+ if(dice.keys().size()>1)
+ {
+ resultGlobal << QString(" d%2:(%1)").arg(result.join(',')).arg(face);
+ }
+ else
+ {
+ resultGlobal << result;
+ }
+ }
+ /* }
+ else
+ {
+ foreach(int face, dice.keys())
+ {
+ QStringList result;
+ ListDiceResult diceResult = dice.value(face);
+ foreach (DiceAndHighlight tmp, diceResult)
+ {
+ QStringList diceListStr;
+ QStringList diceListChildren;
+
+
+ for(int i =0; i < tmp.first.size(); ++i)
{
- diceListStr << prefix.arg(QString::number(dievalue));
+ qint64 dievalue = tmp.first[i];
+ QString prefix("%1");
+
+ if((tmp.second)&&(highlight))
+ {
+ prefix = "\e[0;31m%1\e[0m";
+ }
+
+ if(i==0)
+ {
+ diceListStr << prefix.arg(QString::number(dievalue));
+ }
+ else
+ {
+ diceListChildren << prefix.arg(QString::number(dievalue));
+ }
}
- else
+ if(!diceListChildren.isEmpty())
{
- diceListChildren << prefix.arg(QString::number(dievalue));
+ diceListStr << QString("[%1]").arg(diceListChildren.join(' '));
}
- }
- if(!diceListChildren.isEmpty())
- {
- diceListStr << QString("[%1]").arg(diceListChildren.join(' '));
- }
-
- result << diceListStr.join(' ');
- // qDebug() << result << tmp.first << tmp.second;
- }
-
- if(dice.keys().size()>1)
- {
- resultGlobal << QString(" d%2:(%1)").arg(result.join(',')).arg(face);
- }
- else
- {
- resultGlobal << result;
- }
- }
+
+ result << diceListStr.join(' ');
+ // qDebug() << result << tmp.first << tmp.second;
+ }
+
+ resultGlobal << QString(" (%1) ").arg(result.join(','));
+
+ }
+ }*/
return resultGlobal.join(' ');
}
@@ -114,8 +159,9 @@ void startDiceParsing(QString& cmd,QString& treeFile,bool highlight)
}
ExportedDiceResult list;
- parser->getLastDiceResult(list);
- QString diceText = diceToText(list,highlight);
+ bool homogeneous = true;
+ parser->getLastDiceResult(list,homogeneous);
+ QString diceText = diceToText(list,highlight,homogeneous);
QString scalarText;
QString str;