« 弾とか - 日記 | メイン | 力尽き - ToS »

2005年02月22日

日記 - 分割

とりあえずソースファイルを分割してみたり。
うろ覚えだったので資料を漁るのに時間がかかりましたが、それだけでも少しすっきりした感じで、改良しやすくなった気がします。

が、力尽き。眠たい
ここで書き留めておく。

敵と弾の関係

敵と弾を直接関連付けるか否か。
関連付けるなら、敵毎に弾配列を定義しなければいけない。
実装方法としては、弾構造体配列を二次元配列にして、各行の先頭にどの敵から出されたかの情報を記録する。
関連付けないなら、弾構造体配列はそのままに、各要素毎にどの敵の弾かを記録する。
どちらがよろしいだろう。今は後者でやっているけれど、前者の方法をよりスマートに実装できたら、その方がいいとは思う。

当たり判定

今回は夢の座標系が使えますので、以前のようにレイヤーを使ったまどろっこしい方法は使いません。
とりあえず考えているのは、中心点間の距離での判定ですが、四角形を使った面積判定の方が軽そうな雰囲気。

様々な種類の弾幕を同時に存在させるために

弾種毎に最適な構造体を用意するか、大きな枠の構造体を作ってそれを使いまわすか。
今は自機も弾も敵も全部同じ構造体で共用している(もちろん別々にstructしてはいますが)ので、後者になっていますが、
それでは無駄なメモリ空間が大量に存在する事になるし、あまり美しくは無いでしょう。
ですので、別々にわけていこうと思います。

問題は複数の種類の変数をどう管理するか。
a配列とb配列で二種類の弾幕を表現するとして、

for(i=0;i<MAX;i++){
      aの処理
}
for(i=0;i<MAX;i++){
       bの処理
}

二つならまだ何とでもなりますが、この種類が増えていくに従ってどんどんぐだぐだになって行く事でしょう。
構造体へのポインタの配列……ですかね。
うーん……綺麗に書けるのだろうか。ここが一番不安。

頭が痛い点

ゲームとして成立させようと思うと、どんどん敵がでてきて色々な種類の弾幕パターンの組み合わせを行わなければなりません。
スクリプトファイルを外部に独立させる方法をうまく実装できる気がしません。
むしろ、怖いです。何が怖いって文字列を扱う事が。

そんなわけで

テイルズで現実逃避してきます。
どうせ今日も明日も明後日もバイトだし、考える時間だけは無駄にあります。

投稿者 miff : 2005年02月22日 00:25

コメント



XREAAD