diff options
Diffstat (limited to 'glpong3d.c')
-rw-r--r-- | glpong3d.c | 18 |
1 files changed, 15 insertions, 3 deletions
@@ -205,15 +205,27 @@ GLPong_Move(GLPong_t * GLPong) { GLPong_BallMove(&GLPong->ball); - if (GLPong_Collide(&GLPong->ball, &GLPong->front_paddle) - || GLPong_Collide(&GLPong->ball, &GLPong->back_paddle)) { + if (GLPong_Collide(&GLPong->ball, &GLPong->front_paddle)) { if (GLPong->ball.zv < 0) { GLPong->ball.zv -= 0.005f; } else { GLPong->ball.zv += 0.005f; } #ifdef DEBUG - printf("Collision: x: %.3f, y: %.2f, z: %.2f\n", GLPong->ball.x, GLPong->ball.y, GLPong->ball.z); + printf("Collision: x: %.3f, y: %.2f, z: %.2f\n\tPaddle: xv: %.3f, yv: %.3f\n", + GLPong->ball.x, GLPong->ball.y, GLPong->ball.z, + GLPong_PaddleXV(&GLPong->front_paddle), GLPong_PaddleYV(&GLPong->front_paddle)); +#endif + } else if (GLPong_Collide(&GLPong->ball, &GLPong->back_paddle)) { + if (GLPong->ball.zv < 0) { + GLPong->ball.zv -= 0.005f; + } else { + GLPong->ball.zv += 0.005f; + } +#ifdef DEBUG + printf("Collision: x: %.3f, y: %.2f, z: %.2f\n\tPaddle: xv: %.3f, yv: %.3f\n", + GLPong->ball.x, GLPong->ball.y, GLPong->ball.z, + GLPong_PaddleXV(&GLPong->back_paddle), GLPong_PaddleYV(&GLPong->back_paddle)); #endif } } |