физические расчёты такие:
координата y тут перевернутая.
если у мяча координата-y > 500 то он ударился об пол. тогда. проверяете его скорость (векторное сложение = сумма квадратов скоростей по координатам. если она меньше лимита - то потрачено. этот мяч потерял энергию и надо мяч удалить из игры), если больше лимита = 10 то горизонтальную скорость делите на 2, вертикальную скорость делаете в другую сторону. координату y присваваете 499, иначе будет ощущение что шар ушел под пол.
если у мяча y > 500
то делаете движение:
y -= vy вертикальное ( знак минут - это ньюанс с направление оси координат)
x += vx горизонтальное
гравитация - вертикальную скорость vy уменьшаете на какое-то число, в примере -1.2 единицы
в примере есть еще методика, типа сопротивление воздуха: vx *= 0.99
и обработка столкновения со стенкой за мишенью, она проходит по границе x=780. как и с полом, теряется половина горизонтальной скорости, скорость становится направлена в обратную сторону, выставлени екоординаты x=780
Или можно чтобы не было ощущения что шарик ударяется от край экрана сместить искуственно границы экрана к центру на радиус шарика