SNSとか作れるのは、羨ましい。
PerlやPHP、Rubyなんかはちびちび勉強してますが、掲示板とかああいう類のは俺には絶対無理そうですわ。
作れてもひどい脆弱性とかが発見されて総叩きくらいそうで。
というだけでは日記っぽくないので、日記っぽくだらだらと書き綴ろうと思います。
あ、先に言っておきますが、重度のネット中毒者で重度のニコ厨なのでネットスラングばしばし使ってる可能性があります。
(…って書いておけば誤字もネットスラングだと思われるに違いない)
現在、弾幕STGを無計画にダラダラと作ってます。(一応企画書もどきはありますが)
言語はC言語。一応ファイルはcppにしてあるので厳密にいえばC++なのかもしれませんが、クラスとか使ってないのでC言語でいいですよね。
で、今はどの部分に取り掛かっているかというと、弾の部分です。
んでは投稿テストも兼ねて、弾の構造体を載せてみます。
typedef struct{
st_Code C;
st_Accel A;
st_Speed S;
st_Figure F;
st_Aliver Al;
void (*Move)(void *bullet);
} st_Bullet;
別の構造体を貼るとクソタレ長くなるので文で説明すると、上から
「座標」、「加速度」、「速度」、「角度」、「生存」の構造体です。
…と書くと尚更よく分からないかもしれませんが、まぁ内容がどうなってるのかまで書くと長くなるので割愛させていただきまする。
一番下の関数ポインタは、名前の通り、弾の動作の関数のポインタを入れるためのものです。
敵が弾を発射する時に、弾を登録する場面で関数ポインタを登録することで、いちいち別の関数を作ってswitch文で分岐、といった面倒なことをしなくてすむかなぁ、と思ったのでこうしてあります。
効率は悪いかもしれませんが…。
で、なんでこんな風にしたのん?というのは、関数ポインタとかと同様に、めんどい事をできるだけ楽にしようと思ったからです。
もうちょっとkwsk言いますと、
1、引数の数を減らすことで管理が楽になるんじゃないか
2、2つ以上の要素を返り値として出したいときに、構造体をまるごと返り値とすれば楽になるんじゃないか
という2つの楽ができるかなぁ、と思ったのです。
…とまぁ、こんな感じですかね。
聞かれても無いこと語りまくって、書いた後にドヤ顔するのがネット日記の醍醐味だと思うんですがどうでしょう。
まぁそんな感じで、今日は失礼します。