Explanation:

At the end of a phase we reinitialise the step count. The next time "move" is called it will perform the computation of a new direction vector etc.