diff options
Diffstat (limited to 'node/countexecutenode.cpp')
| -rw-r--r-- | node/countexecutenode.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/node/countexecutenode.cpp b/node/countexecutenode.cpp new file mode 100644 index 0000000..fff00f2 --- /dev/null +++ b/node/countexecutenode.cpp @@ -0,0 +1,33 @@ +#include "countexecutenode.h" + +CountExecuteNode::CountExecuteNode() +{ +} +void CountExecuteNode::setValidator(Validator* validator) +{ + m_validator = validator; +} + +void CountExecuteNode::run(ExecutionNode *previous) +{ + if(NULL==previous) + { + return; + } + QList<qint64> diceList=previous->getResult()->getResultList(); + qint64 sum = 0; + foreach(qint64 dice,diceList) + { + if(m_validator->isValid(dice)) + { + ++sum; + } + } + m_result.insertResult(sum); + + + if(NULL!=m_nextNode) + { + m_nextNode->run(this); + } +} |