3年前C言語とDxLibを用いてシューティングゲームを作っているんですが、少し引っかかったことがあります。}}このようなコードを実行してみると、いろいろと角度が荒ぶったり、一回転したりします。(説明が下手ですいません)何故なのでしょうか。3年前とりあえずファイル出力してどういう値になるのか見てみたら?atan2の返す値は±π(±180度)だということを忘れずに。ポイントを定義します。(DX_PI/2)でしたがPIもDX_PIも同じ3.14・・・ですよ。これを見てみると、距離が最小値1.8になってからの出力がおかしいですよね?距離がどんどん離れてるところからしても。3年前へにっくすさん、ご丁寧に出力結果までありがとうございます。ファイル出力してどういう値になるのか見てみたら?atan2の返す値は±π(±180度)だということを忘れずに。//前のコードはDX_PIとPIが使われていますね。すいませんと初期化することで、初期化角度については解決したのですが。角度の最小値1.8(?)になってからの出力は、画面は端に座標がずれていって、角度が0付近を前後しています。これ180°の穴っていうんですかね。現在のショットを管理している部分のプログラムをすべて書き換えなければならないという事になりかねないですし、いろいろとあとから不都合が発生することが予想されるので、できれば今の角度の穴(?)の対策をして実装したいです。わがままが多くてすいません。角度の最小値1.8(?)になってからの出力は、画面は端に座標がずれていって、角度が0付近を前後しています。これ180°の穴っていうんですかね。角度の最小値?角度ではありません。私が出した結果で、dis=とあるのは点と点との距離(distance)を示しています。角度はang=で示しています。最初の一行目は距離が367.7で、61行目で距離が1.8になり、目標に一番近づいた、ということです。そこまでは想定した通りの動きですよね。62行目以降はあなたが言われた通り、角度が目標に向かわず180度前後から動かず、しかも距離がどんどん大きくなっている。