From d70776644de9e2774483000327f4e229bd8ab50b Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sun, 25 Sep 2016 04:20:08 +0200 Subject: -remove limit of 3 jump. Now the operation is jumping backward until it find its first dice result or it has reached the beginning. --- node/jumpbackwardnode.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'node') diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp index b1e7889..0b2cbf6 100644 --- a/node/jumpbackwardnode.cpp +++ b/node/jumpbackwardnode.cpp @@ -91,20 +91,29 @@ void JumpBackwardNode::run(ExecutionNode* previous) m_previousNode = previous; ExecutionNode* parent = previous; bool found=false; - int i = 3; + //int i = 3; Result* result=NULL; while((NULL!=parent)&&(!found)) { result = parent->getResult(); - if((NULL!=result)) + if(NULL!=result) { - --i; - if((i==0)&&(result->hasResultOfType(Result::DICE_LIST))) + //--i; + if(/*(i==0)&&*/(result->hasResultOfType(Result::DICE_LIST))) { found =true; m_backwardNode = parent; } + else + { + JumpBackwardNode* jpNode = dynamic_cast(parent); + if(NULL!=jpNode) + { + found = true; + m_backwardNode = parent; + } + } } if(!found) { -- cgit v1.2.3-70-g09d2