二脚ゲイザー作成記・その2 [二脚ゲイザー作成記]

フルチップとは言わないけれど、それに近い量になりそうです。

1チップ目はCODE0分岐。
全方位800mをざっとロックした後、ロック出来ていれば集中ロックからメインルートへ。
ロック出来ていなければ霧下行動へ。
スキャンは無しです。

次にカノンガード含むOP管理→被弾処理と続き、次がジャンプ中処理。
判断自体はSUB1に流し、抜けたところでZ軸監視によるジャンプ終了待ち。
この間に被弾チェックしつつ、被弾してたらさっきの被弾判定へ合流。

ジャンプ終了後、着地硬直中にメインルート走査開始。
硬直解除待ちは各アクション直前で行う形にします。


メインルートの内容としては、
前方60m90°に敵が居ればw2ぶっぱしてRETURN

80m以内に敵が居れば再ロック。真後ろなら特殊3してRETURN


出来てるのはここまでです。
コレ以下は、

飛翔体判断(SUB2)
地雷機雷判断
壁・障害物判断
敵位置判断で遠ければ移動・旋回
中距離戦闘
味方位置見ながら集中ロックでの対空戦闘

の予定。
次が回避なので、先にジャンプ中処理であるSUB1を完成させます。

ジャンプ中状態は20F以上続くため、最速CPUなら160チップ以上踏めるわけで、SUB領域フル程度ならがっつりチェックしきれます。…たぶん。

発案した人って天才だと思う。


で、そのチェック内容に、カウンタ2つで8方向ジャンプをビット演算処理で管理、としようかと思っていたんですが、全てのジャンプの直前で、andしてその結果を分岐に掛けて~というのは、ただでさえ直前に硬直解除チェックを行うというのに、あまりに煩雑すぎる気がしてきました。

なので、例えば前方向に飛ぶ時に敵が正面に居たら、左右スイッチを確認してから、左右どちらかの前斜めに飛ぶ、などという形にすることにします。

似非8方向ジャンプと名付けよう。

やっぱりビット演算するには領域が厳しい気がしますね。


で。
・Aが1の時は後ろ、1以外なら前に飛ぶ
・Bが1の時は左、1以外なら右
・ジャンプ射撃をメインルートで行わないまま、ここに入った場合のジャンプ射撃もここで
・同様の条件で、SUB2内の回避ジャンプ射撃の際の発射可能判断もカウンタ保持しておく

ぶっちゃけほとんど、ひでさんのCHP時のブログ内<はじめてのアラクネー>からのぱくりです(汗)。
シナリオクリア――つまりは初めてCHで自律型を自力作成した時にお世話になりました。
この場で改めて感謝を。


んー…このサイズならもう1ルーチン、SUB1に入るかも…?
ちょっと考えて見ますかね。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。