No worries. Here is a “human” way to explain it:
There’s a listener target and show should be equal or there’s an event triggered.
Forget the target = 1 at the start for a minute. The event animates whatever element is showing to expand out (if it’s 1, hide A, if its 2, hide B…etc.). It waits a bit (pause), then shows whatever the target is (if it’s 1, show A, etc.). It then reconciles the two variables so they are equal.
There is then a timer (‘do every’) that adds 1 to target if showing is < 3, let’s start
Showing - Target > [ Workflow ] > Showing - Target
0 - 1 [ hide (null) show (1) ] 1 - 1
1 - 2 [ hide (1) show (2) ] 2 - 2
2 - 3 [ hide (2) show (3) ] 3 - 3
Easy. Then we have to make it loop back
3 - 4 [extra step, set target to 1 if it’s 4] [ hide (3) show (1) ] 1 - 1
It will restart at showing 1, target 2 and loop forever. I understand now that I left a workflow in the timer that said set to 1 if showing is < 3 in the timer. If you lay out the values on paper, you’ll see that It effectively does nothing because it gets over-ridden by the following workflow that sets the actual value. I’d love to say that I left it in there to make sure that you were paying attention, but it was just that I forgot to remove it. Hope that helps clarify things a bit - I find that when I really have trouble working out some logic, I always just “compute” the results on paper and that usually clears things up.
Unsolicited advice: Breaking the loop is (probably) better from a performance aspect anyway, and if your user gets the same experience, I’d just go with that method.