Because your code does more than I need and does it differently. For example "homing" and "breaking away" and the part where all motors go to "home position" one by one.
Maybe I wasn't clear enough describing my project.
I have a prefixed array (example) TargetPos[100, 165, 220, 350 ....., 490].
At boot up, in the void setup, I read the last known position (one integer) of all steppers (they all move together and to the same position) from the EEPROM.
In the void loop I keep checking if a PIR sensor is triggered. if yes, then I'd call my GoToPos function. This function generates a random number (n), calculates the number of half steps need to reach TargetPos[n], moves all steppers to that position and stays there. It then writes the nowPos to EEPROM and maybe cut off current to the steppers. Back to void loop checking the the PIR sensor.
I've got everything figured out except the part where I send Hex code to all shift registers to activate the coils of the steppers for "x" steps or half steps to go to TargetPos[n].