Alright so I think I got it. What you must do is something like...
Code:
while(round(sphere's distance above ground)!=0)
{
doTogethor{
sphere move at speed "some speed"//This one would be your parameter
sphere turn at speed "a speed lower than the above"//This one could be another parameter, but let's keel it a constant
}
Now once it exits the loop I think you should what you should do is make a for loop and make it run lets say twice or whatever you like. Along with this you should also make a number variable that will decrement every time the loop cycles this variable you should use to control the "bounciness" of the ball as it slows down.
I have personally tested this and while it is not 100% glitch free it does show proof of concept. Let me know if you still have a problem.