現在の座標と向きがわかります.
現在の座標に移動分を加えて移動先を計算すべきです.この方法だと,誤差が累積しません.
以下のプログラムを作ってみましょう.
色々な移動を作ってみようの課題の解説です.
「180度回転」するときに,角度の扱いに一工夫必要です.
符号が変わる領域をまたぐと,大小関係の判定が難しくなりますので,符号が変わる領域を一番不要な領域に割り当てます.
90で止めたいときは,-90~+270の範囲で利用します.具体的には,((角度+90) % 360) - 90 で変換します.