とうとう12月が来てしまった!

復活宣言から4ヶ月も放置していたので良い加減復活しようと思う。

さすがに、これからは書くネタもきっとあるだろうから大丈夫だろう。きっと。



と、言うわけで早速何か書いてみる。

題は、現在ガッコーで無駄に苦しみながら作ろうとしている
「ロックオンレーザーのプログラムの流れ」
について。


これから書くことは、ほとんど素人の人間が考えた理屈なのでおかしい所なんかがあれば是非指摘してほしい。


ロックオンレーザーってなんだ?と言う人はレイストームのロックオンレーザーを思い浮かべてもらえれば問題ない。
それも分からないなら、ぐぐるかレイストームでも買うと良い。レイクライシスでも可。


まず、ロックオンレーザーの段階について考えた。
考えられる段階としては

1.目標をロックする
2.自機から射出する
3.目標をサーチする
4.目標に向かって進む
5.目標に命中する

とりあえずこの5段階である。
まずはこの順番で細かく考えるとしよう。


1.目標をロックする

これは単純だ。
自機の前にあるロックオンサイトに敵が重なったら敵の「ロックオンされているかどうか」というステータスをn(まだロックオン対象が決まっていないレーザーの番号)本目のレーザーの番号にしてしまう。
あとは、敵より上のレイヤーからロック用の画像を描画しておけばよし。


2.自機から射出する

今回作ろうとしているロックオンレーザーは、軌跡にランダム性を持たせるために自機後方にランダムで射出して、最初に決めた一定方向にしか旋回しないようなプログラムにする予定(そもそもこの発想がおかしいかもしれないが)のため、この段階でロックオンレーザーの初期設定をすべきだろう。

まず、射出角度を設定する。そして、初期直進時間の設定をして、最後に旋回方向を決める

とまあ、こんなものか。


3.目標をサーチする
4.目標に向かって進む


この2つはまとめてしまう。

まず、360度を20分割した18度ごとの「角度帯」を設定する。
そして、レーザーと目標の角度を調べる。
それがレーザーの進む角度と同じであればレーザーは直進する。
レーザーの進行方向と違うのならば、先ほど設定した方向へ曲がる。
以上を命中するまで繰り返す。

かなり適当に書いたが、大まかに言ってしまえばこんなところだろう。


5.目標に命中する

これはただ一言だけ。

ロックオンレーザーの情報を初期化する。以上。

正確には敵の存在と「ロックオンされているか」ステータスも初期化するが、それだけである。

※現在は敵の耐久力が1で固定なので弾が当たったら敵が消滅するようになっている。





と、こんな感じに動くようなプログラムを書こうと思っているのであった。