You can set multiple invisible dots on the path.
The id of the dots is count from 0 til the last one.
The player will have the current ID to know which dot is next.
So every time player hits next dot, it becomes current dot.
Then move the dots that equal currentID + 1.