C ++でエアホッケーゲームを作成しています(これはC ++での最初のプログラムです)。パックの速度に問題があります (速度は遅くなりますが、決して止まりません)。どうすればそれを機能させることができますか?パックとパドルの速度を制御するコードは次のとおりです (まだパドルは 1 つしかありません)。
(paddle1 には paddle1 の座標が含まれ、paddle1helper は前の座標です)
paddle1speed = Point(paddle1.x-paddle1helper.x,paddle1.y-paddle1helper.y);
if(puck.x > paddle1.x-40 && puck.x < paddle1.x+40 && puck.y < paddle1.y+40 && puck.y > paddle1.y-40) {
if(paddle1speed.x <= 1 && paddle1speed.y <= 1)
puckspeed*=-1;
else puckspeed=paddle1speed;
}
puckspeed.x/=1,9;
puckspeed.y/=1,9;
puck+=puckspeed;
if((puck.y > winsize.y-15 || puck.y < 15))
puckspeed.y *=-1;
if((puck.x > winsize.x-15 || puck.x < 15))
puckspeed.x *=-1;
paddle1helper = paddle1;
私はそれが最善の解決策ではないことを知っています。アドバイスをいただけますか?