]> git.armaanb.net Git - pong.git/commitdiff
Improve paddle bounce logic
authorArmaan Bhojwani <me@armaanb.net>
Sun, 16 May 2021 02:21:41 +0000 (22:21 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Sun, 16 May 2021 02:21:41 +0000 (22:21 -0400)
pong.c

diff --git a/pong.c b/pong.c
index a61bc0d68bc5986ced25f223cf274c9e275d97e4..0a750506c13d8a6db893ebfebf8503874781a306 100644 (file)
--- a/pong.c
+++ b/pong.c
@@ -142,9 +142,9 @@ main(void) {
                        /* 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;