>>319
> vxの値が1.0を切ると片方の引き付けがなくなるようです。
そりゃ、vx が1.0未満なら (int)vx は 0 になるからねぇ。
っても、vx が1.0未満なら両方ともx方向だけ引き合わないだけのような気もする。
Ax -= vx; Ay -= vx;
Bx += vy; By += vy;
みたいに書き間違って無いか?

あと、vx が1.0未満の場合でも引き合いたいなら、
座標を常に double で持っておいて、int が必要な時だけキャストすれば?