霧の中で待ち合わせ

というわけで霧ホイリーの合流ルーチンの実装です。

最初に試しに作ってみたのがこんな感じです。


・送信
敵発見時、合流制限時間(現在時間+n秒)、合流地点X座標(ターゲットX座標)、
合流地点Y座標(ターゲットY座標)をそれぞれチャンネルにセット。
接近戦中は定期的に上記を再セット。


・受信
暇な時にチャンネルの合流制限時間を取得し、現在時間以降なら合流処理開始。
合流地点X座標が自機X座標より一定値以上小さい(画面では左)、
かつ自機の向きがプラス(画面では上〜左〜下)を向いていれば旋回。
合流地点X座標が自機X座標より一定値以上大きい(画面では右)、
かつ自機の向きがマイナス(画面では上〜右〜下)を向いていれば旋回。
合流地点Y座標が自機Y座標より一定値以上小さい(画面では上)、
かつ自機の向きの絶対値が90以下(画面では左〜上〜右)を向いていれば旋回。
合流地点Y座標が自機Y座標より一定値以上大きい(画面では下)、
かつ自機の向きの絶対値が90以上(画面上では左〜下〜右)を向いていれば旋回。
上記条件に該当しなければ前進。


とりあえず合流はできます。が。
大雑把に4方向での判別しかしていないので、見当違いの方向に向かうことが多く
頻繁にチェックしてやらなければなりません・・・。


というわけで、結局nas_Bさん式のatan近似式で実装しました。
近似式だけ見て適当に自分で実装したので詳細部分は異なるようですが。多分劣化コピーです。
試しに動かしてみると綺麗に合流しますね。数学って偉大です。


ついでにPGを一から組み直して反応速度を上げました。
さらにオプションを盾盾修妨に、追加装甲を電撃装甲に変更。
殴ってくる相手ならカウンターで倍返しです。カノンは盾2とカノンガードでどうにか。


簡易レートは2236になりました。
地雷への対応が甘くブラストさんにボコボコにされるので、次の課題は地雷処理ですね。
あとはアングリフに対して絶望的なほど勝てないのが問題ですが・・・
格闘が当たらないので思いっきり手詰まりしてます。
いっそアングを見たら、即逃亡して修復で引き分け狙いの方が良いのかもしれません・・・。