タスクシステム総合スレ part5at GAMEDEVタスクシステム総合スレ part5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト520:名前は開発中のものです。 09/03/03 23:38:58 UfdUZfM/ 戻り値書き忘れたけれど、突っ込まないで 521:名前は開発中のものです。 09/03/03 23:47:42 YUVx5SHc >>519 タスクと言う言葉を軽々しく使わないで下さい 522:名前は開発中のものです。 09/03/03 23:52:38 NIkO1+LI >>519 馬鹿はどっかいけよ 523:ID:EEKBitmg 09/03/04 00:02:09 vv/UkwCS 厨房見参 総合ヘッダーさん(ID:NIkO1+LI)と引数さんは同じ人だと思うが、まぁそれはそれとして 総合ヘッダーさんはCodeZineの記事に出てくるようなタスクシステムのことを言ってるんだろ? CodeZineの記事を書いた人は俺と同い歳くらいの学生さんだと思う。叩くつもりはないが グチャグチャに絡み合ってる反面教師的なコードとしてはなかなか秀逸だなーと思う task.hに 自機、敵機、自機の弾、敵機の弾 狙い撃ち、爆発、自機の制御、敵の出現制御 ステージ制御、ライフバー管理、スコア管理、タイトル画面、ゲームオーバー画面 といったTaskEx派生クラス全ての宣言をまとめてぶちこんでいる で、例えば自機弾クラスのソースコードの中を見る。まず先頭でtask.hをインクルードしている 次に自機弾クラスの当たり判定メソッドの中を見る。こいつの中では int 敵数=GetCount(ENEMY); // 敵の数よこせ (循環リストを総舐め) for(int i=0;i<count;i++){ 敵クラス *task=(敵クラス*)GetTask(ENEMY , i ); //i番目の敵よこせ (ヒットするまで循環リストを舐める) … } という感じで 『"グローバルインスタンスホルダー"の検索結果 3 件中 1 - 3 件目』 に対して、『敵を全部くれ』と要求して、敵クラス型にキャスト(static_cast)している 循環リストを舐めまくりでびびった。HSPでこんなコード組んだら重くて普通に死ねる C/C++を使うメリットを遺憾なく発揮してると思った 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch