/* Find the distance that the ball hits from the center of the padel and
accordingly adjust ball path */
int poff = (x <= 1) ? aoff : boff;
- double fromc = fabs(0.5 * (poff + 0.5 * pad_h - y));
- slope_x *= (slope_x < 20) ? 1 : (int) ((double) slope_x / fromc);
- slope_x += 1;
+ double fromc = (fabs(poff + 0.5 * pad_h - y) / 2);
+ slope_x /= (abs(slope_x) > 25) ? 2 : fromc;
+ slope_x = (slope_x < 2) ? 2 : slope_x;
direction *= -1;
x += direction;