All those calculations fall apart when:
- Screen resolution changes
- Pong paddle size changes
- Ball speed changes
Resolution should not be hard-coded. Query your system to grab the current screen or viewport width. For a D3D app the viewport info will always be the most accurate for both windowed and full screen mode.
Sinf() and cosf() from the CRT should suffice just fine. They are the floating point versions of sin and cos. Sin() and cos() are the double versions.
x += std::cos(BallAngle) * Factor,
y += std::sin(BallAngle) * Factor
I don't quite understand your sentence concerning this code. This is essentially the parametric form of a line. I would advise you do some research on mathematical vectors.
The formula is essentially:
Final = Origin + Direction * Distance;
x = x + cosf(angle) * speed;
x += cosf(angle) * speed;