From 5bee4662a4afcf055abf1e94a7f3ff3ad2a93184 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 14 Feb 2023 15:31:07 +0100 Subject: [PATCH] CATROID-1462 Change variable by "" brick does not work Loop bricks now actually change their control variable instead of continually setting it with calculated values. This allows for other change variable operations inside the loop to have an effect. This however furthers the possibility to create infinite loops and the resulting value of the control variable after the loop is not as easily predictable when using another change value operation inside the loop. --- ...estForLoopWithChangeVariableBrick.catrobat | Bin 0 -> 64148 bytes .../testForVariableFromToBrick.catrobat | Bin 137146 -> 94910 bytes .../actions/ForVariableFromToAction.java | 16 +++++++++------- 3 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 catroid/src/androidTest/assets/catrobatTests/bricks/control/testForLoopWithChangeVariableBrick.catrobat diff --git a/catroid/src/androidTest/assets/catrobatTests/bricks/control/testForLoopWithChangeVariableBrick.catrobat b/catroid/src/androidTest/assets/catrobatTests/bricks/control/testForLoopWithChangeVariableBrick.catrobat new file mode 100644 index 0000000000000000000000000000000000000000..e7f8c9160717a896459006e6d1b0100c17c1c493 GIT binary patch literal 64148 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 WE}VUu4{6Uz&q}w^!~czQlJx&QaIaGU literal 0 HcmV?d00001 diff --git a/catroid/src/androidTest/assets/catrobatTests/bricks/control/testForVariableFromToBrick.catrobat b/catroid/src/androidTest/assets/catrobatTests/bricks/control/testForVariableFromToBrick.catrobat index 2a37b6fd12f770b54f5774959f47f805f166097d..2d123ce53f9046b1d2c2919a81aa6bc65451434e 100644 GIT binary patch literal 94910 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 gj%1(xUu#Fw&0V(^b literal 137146 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 Math.abs(toValue - fromValue)) { + if (!(controlVariable.getValue() instanceof Double) + || (step > 0 && (double) controlVariable.getValue() >= toValue) + || (step < 0 && (double) controlVariable.getValue() <= toValue)) { return true; } - + changeControlVariable(step); isCurrentLoopInitialized = false; action.restart(); } @@ -75,7 +73,6 @@ public boolean delegate(float delta) { public void restart() { isCurrentLoopInitialized = false; isRepeatActionInitialized = false; - executedCount = 0; super.restart(); } @@ -101,6 +98,7 @@ private boolean interpretParameters() { Double toInterpretation = to == null ? Double.valueOf(0d) : to.interpretDouble(scope); toValue = toInterpretation.intValue(); setStepValue(); + setControlVariable(fromValue); return true; } catch (InterpretationException interpretationException) { Log.d(getClass().getSimpleName(), "Formula interpretation for this specific Brick failed.", interpretationException); @@ -115,4 +113,8 @@ private void setStepValue() { private void setControlVariable(int value) { controlVariable.setValue((double) value); } + + private void changeControlVariable(int value) { + controlVariable.setValue((double) controlVariable.getValue() + (double) value); + } }