2つの座標を比較しようとしています。これが原因でループが停止しないことがわかりました。
exit = ((p.x * sign_x) >= end_pos.x) && ((p.y * sign_y) >= end_pos.y);
cout<< p.x * sign_x << " >= " << end_pos.x
<< "=" << std::boolalpha << ((p.x * sign_x) >= end_pos.x)
<< " "
<< p.y * sign_y << " >= "<< end_pos.y
<< "=" << std::boolalpha << ((p.y * sign_y) >= end_pos.y)<<endl;
exit
変数がになることはありませんtrue
。コンソールには次のように表示されます。
9435.6 >= 132.6=true 180 >= 180=false
どうすればいいですか?
すべての変数はfloat
です。値は上に書かれています。180
as値を持つ変数は変更されません。