See if you can improve upon my pinball prototype. You can adjust the initial speed of the ball using the variable called speed, and the rate at which the ball slows down using the variable called restitution The result isn't always perfect - can you improve it?
A demonstration of how to bounce one sprite off another. Bouncing can be tricky in Scratch - there is a tile to bounce off the edge, but not a bounce tile to bounce off anything else. In this program, when a collision occurs, the direction of the ball is stored and then it turns to face the spot. The difference between the two angles is used as the angle of incidence, which can be used to calculate the new direction.