タスクシステム総合スレ part2at GAMEDEVタスクシステム総合スレ part2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト144:名前は開発中のものです。 08/05/25 19:57:43 7UG2hamH >>140 上はstateによって処理を決定するけど下はなんだ? stateを途中で変えられないような気がすんだけど なんか比べるもん間違ってね? 145:名前は開発中のものです。 08/05/25 22:16:46 6V9YbMCv 142に書いてる >Stateのメリットは拡張性にあって可読性にはないから >可読性を優先するならマイクロスレッドの形を取るべきだ マイクロスレッドの方が可読性が高いかどうかは主観によるものだが これを否定するのなら、そっちに話を持っていく 可変性や拡張性が低いってのも142に書いてるけど そもそもスレッドを与えるクラスが小さいものであるなら、変更は脅威ではない 逆に、タスクシステムとやらが変更に強いとも断定はできない あれは新しいクラスを作る拡張に強いのであって、置き換える形の変更には強いが 修正する変更はスレッドを用いたものと同じようなものだ 146:名前は開発中のものです。 08/05/25 22:45:40 dDrBARgy たとえば、>>140 の信号に「夜間は点滅する」「殴られたら停止する」という仕様が追加された場合、 前者の、普通に状態遷移を書く場合だと、 void 夜になる() { if (state != 停止) state = 点滅; } void 朝になる() { if (state == 点滅) state = 赤; } void 殴る() { state = 停止; } みたいなメソッドを追加して、 if (state == 赤) ... ; else if (state == 青) ... ; else if (state == 黄) ... ; else if (state == 点滅) ... ; else if (state == 停止) ... ; と分岐を追加していけばいいよね。 後者のスレッドを用いる場合だとどう修正するの? 結局、似たような感じになっていく気がするんだけど。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch