ちょっと古いですが、面白い記事をみつけました。

 

【東方】弾幕スクリプトってこんなシンプルに書けるもんなのか…



 コメントでも書かれていますが、さっぱりわからん・・・。

 東方はC++で書かれているということですが、弾幕用になんか言語っぽいものをお作りになったのでしょうか。

 これをそのまま利用するのは難しすぎます(ノд<。)しかし、引数で難易度毎に弾幕を調節する手法はできそうですね。今回私はディフィカルティ構造体という難易度別に値が変化する構造体を作り、それを引数にとるよう弾幕パターンを書きました。


・ディフィカルティ構造体

 struct D
    {     
int n

       public D(int light,int original)
        {
                 n = (G.D == 0) ? original:light;
        }
    }

//難易度を設定すると難易度に対応した値を代入する。初期化時に引数で各値を設定。D.nの形式で使用。



・攻撃パターンメソッド

 void Around(D d)
        {
            for (int i = 0; i < d.n; i++)
                if (c % 60 == 15 * i) Add(new SetAround(bsP, Sc.lr));
        }

//D構造体のメンバーnを利用する



・スレッド処理

OnUpdated(){
Around(new D(3, 5));  //ライトでは3、オリジナルでは5が代入される
}




すいませんorzコーディングの解説はなれておらず自分でも見にくいと思っています・・・今後改善します。

ともかく、zunさんほど美しくはありませんが、難易度別の調整が随分簡潔になりました。私のゲームは難易度2段階ですが、4段階で作る場合はより恩恵があると思います。

そもそも、みなさんがどうやって書いているのか知りません。もし、機会があればそういうトークもできるといいですね。龍神録にのってるのかな・・・