タスクシステム総合スレ part2at GAMEDEVタスクシステム総合スレ part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト155:名前は開発中のものです。 08/05/26 00:21:41 UvsW7CAY タスク(笑)といえばイベントドリブンなのか? 一定のタイムスライスでコンテキストスイッチするものはもはやタスク(笑)ではないのか? 156:名前は開発中のものです。 08/05/26 00:39:42 J4tqU4Kx >>151 >がんがん追加してください じゃあ、もう少し追加してみる。 「殴られたら停止する」を、「殴られたら青→黄→赤の遷移を強制的にひとつ進める」に修正。 「点滅状態からの復帰時、点滅状態に遷移する直前の状態に戻す」を追加。 class 信号 { enum State { 赤, 青, 黄, 点滅 }; State state, oldState; void 実行() { switch (state) { case 赤: 赤処理(); break; case 青: 青処理(); break; case 黄: 黄処理(); break; case 点滅: 点滅処理(); break; } } void 殴る() { if (state == 赤) state = 青; else if (state == 青) state = 黄; else if (state == 黄) state = 赤; } void 夜になる() { oldState = state; state = 点滅; } void 朝になる() { state = oldState; } }; >Stateを用いると文の上下の意味的なつながりがなくなるため >規模が大きくなるほどコードが分散して理解するのが困難になります ところで、この部分が何を言ってるのか良く分からないんだけど、もう少し説明してくれない? 関数が長くなるから読みにくくなるってことじゃないよね? >>154 前にも書いたけど、そういうのは同じレベルで実装しないで、 コルーチンを使いたい部分をスクリプトで実装するのが良いと思う。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch