Dependency inject Math.random for better testing
Rewriting userMove method, update the Y and orientation of the particles