aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2016-09-25 04:20:08 +0200
committerRenaud G <renaud@rolisteam.org>2016-09-25 04:20:08 +0200
commitd70776644de9e2774483000327f4e229bd8ab50b (patch)
tree8ce06347aee7ee9fd9ed15bcf877d994a767f244
parent664ac48622701dedaa816f5c27fff5f99389690e (diff)
downloadOneRoll-d70776644de9e2774483000327f4e229bd8ab50b.tar.gz
OneRoll-d70776644de9e2774483000327f4e229bd8ab50b.zip
-remove limit of 3 jump.
Now the operation is jumping backward until it find its first dice result or it has reached the beginning.
-rw-r--r--node/jumpbackwardnode.cpp17
1 files changed, 13 insertions, 4 deletions
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<JumpBackwardNode*>(parent);
+ if(NULL!=jpNode)
+ {
+ found = true;
+ m_backwardNode = parent;
+ }
+ }
}
if(!found)
{