タスクシステム総合スレ part2at GAMEDEV
タスクシステム総合スレ part2 - 暇つぶし2ch166:名前は開発中のものです。
08/05/26 03:53:53 J4tqU4Kx
あー、ごめん。「点滅」は色とは関係ないつもりだった。実際は黄色か赤だろうけど。
つまり、State は4つで、夜間は殴ってもなにも起きなくていい。
つか、自分で仕様変更して自分でソース書いてるんだから、
「状態の数が違う」みたいな豪快なバグは入れないよ。
でも、状態が6つだとしても、>>158 はおかしいだろ。
夜間に殴りつづけると、点滅→赤→青→点滅……と変わっていくんじゃないの?

通常時の遷移はわざわざ書く必要もないだろうし、改行が多すぎて拒否されたんで省いたけど、
その部分だけ書くと、こんな感じかな。
class 信号 {
 static const int 赤時間;
 static const int 黄時間;
 static const int 青時間;
 int timer;
 void SetState(State state) { this->state = state; timer = 0; }
 void 赤処理() { if (++timer >= 赤時間) SetState(青); }
 void 黄処理() { if (++timer >= 黄時間) SetState(赤); }
 void 青処理() { if (++timer >= 青時間) SetState(黄); }
};

>StateをCommandとしてListに突っ込んで
というのが分からんのだが、List に突っ込むのは
タスク (この場合は信号オブジェクト) であって、State じゃないだろ。
状態ごとの処理は各タスク内で完結してるんだから、さらに複雑にはならんよ。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch