タスクシステム総合スレ part2at GAMEDEV
タスクシステム総合スレ part2 - 暇つぶし2ch156:名前は開発中のものです。
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
前にも書いたけど、そういうのは同じレベルで実装しないで、
コルーチンを使いたい部分をスクリプトで実装するのが良いと思う。


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