The features implemented/working are:
? a fully functional menu (mouse controls)
? adjustable A.I. difficulty
? adjustable game duration
? adjustable detail level for graphical effects
? toggleable sound effects and music
? a simplistic menu background music
? your typical pong gameplay based on the physics behaviour
? keyboard controls (arrow keys)
? gameplay speeds up the longer you play
? if the ball is moving too slow horizontally, it gets a boost
? a short delay after the ball resets, before it starts moving
? messages for both win and lose states, a shortcut back to menu
? a nice 8-bit soundtrack and fitting sound effects
Pong's typical gameplay is not based on physics, but simple rules. Reflection at the outer walls: angle of incidence = angle of reflectance (that works with the physics as long as we ignore friction, yes). But the most important thing that spices up Pong's gameplay: if the ball hits the upper half of the paddle it will go upwards, if it hits the lower half, it will go downwards; further on edge means it "higher" angle (EncryptedCow tried to emulate it with sculpting the paddles accordingly, although the result is still different).
At game start, near 90?angle is not used, but probably only like up to 60?. Together with the paddle reflection stuff this will prevent the ball from ever going very slowly horizontally.
Also another AI variant would be moving the paddle into the middle if the ball is moving away from it. This way it covers the biggest range when the ball comes back (especially relevant if the ball moves fast in relation to the paddle AI speed).