トップページgamedev
1001コメント423KB

タスクシステム総合スレ part7

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/05/07(木) 13:33:06ID:u3YZJr5E
タスクシステムについての議論、相談、質問、雑談などのスレです

part6 http://pc11.2ch.net/test/read.cgi/gamedev/1238725539/
part5 http://pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 http://pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/


・タスクと呼ばれる実装は、非常に多岐に渡ります
 古典タスクシステムについての話題は「>>2」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず
0086名前は開発中のものです。2009/06/02(火) 22:57:26ID:FxuF2Vlv
>>85
は?
0087名前は開発中のものです。2009/06/03(水) 00:20:35ID:7N1KBmMI
http://www.dcaj.org/report/2008/data/dc_08_03.pdf
p191
0088名前は開発中のものです。2009/06/03(水) 08:28:44ID:DJGuFBj7
携帯にpdfとか無茶いうな(笑)
0089名前は開発中のものです。2009/06/03(水) 18:22:20ID:sZGViYR/
>>88
俺俺実装で騒ぎ立てるタスク厨終了のお知らせ

これからは、財団法人 デジタルコンテンツ協会の報告書に
纏められた「タスクシステム」の類型のみをタスクシステムと
します
0090名前は開発中のものです。2009/06/03(水) 18:51:16ID:kRZZgRXd
>>89
ところがどっこい、そのタスクシステムこそが俺俺実装の集大成であったのだ!
0091名前は開発中のものです。2009/06/03(水) 18:56:15ID:sZGViYR/
pdf読めよw
0092名前は開発中のものです。2009/06/03(水) 18:59:11ID:x/7X789S
タスクシステムじゃないよなアルゴリズムレベル

変動するオブジェクトを効率よく管理するアルゴリズム

とかそんなんでいいだろ
0093名前は開発中のものです。2009/06/03(水) 19:16:10ID:kRZZgRXd
>>91
読んだよ
俺の認識するタスクシステムそのものだった
0094名前は開発中のものです。2009/06/03(水) 19:16:54ID:kRZZgRXd
ていうかあれ書いたのここの住人だろ?
このスレの事も書いてあるしさ
0095名前は開発中のものです。2009/06/03(水) 19:18:00ID:sZGViYR/
>>93
なら、その類型で十分ジャン
0096名前は開発中のものです。2009/06/03(水) 19:20:24ID:SYepopDC
>>94
ROMっていても書き込んでいるとは限らないけどな。
0097名前は開発中のものです。2009/06/03(水) 19:28:55ID:sZGViYR/
>>94
だから潰しに来たんだろw
このスレの荒らしってアレの参考書籍を
一冊しか読んでない奴だろ
0098名前は開発中のものです。2009/06/03(水) 19:34:15ID:2fdTDJq8
>>94
じゃ、引数やグローバル変数についてのことも書いてあった?
0099名前は開発中のものです。2009/06/04(木) 02:27:27ID:nj147iwp
>>98
綺麗なまとめなので
そういうのには触れてない

つか、読めよwww
0100名前は開発中のものです。2009/06/04(木) 07:25:37ID:jqlZv/DR
3Dに関して載っていそうで欠片もないのは仕様ですか?
0101名前は開発中のものです。2009/06/04(木) 20:36:28ID:VGoQJEgN
今時のゲームにも、タスクシステムは名を変え姿を変えしっかりと生き抜いています。
勿論今時の技術に応じて、仕組みや役割が微妙に変わってきていたりはしますが、
個人で作る分には昔ながらの作り方でまったく問題ありません。
安心してお使いください。
0102名前は開発中のものです。2009/06/04(木) 21:41:31ID:RYS9yDIQ
一人で作る分には何やったって別に構わないよ。
複数人で作るなら、意味の無い自己主張ばかりして波風立てないようにな。
0103名前は開発中のものです。2009/06/04(木) 23:24:00ID:YHRrj+R0
アンチ派は苦しくなってきたな。
0104名前は開発中のものです。2009/06/04(木) 23:26:25ID:knZRgA/j
>>103
名称は嫌いだし、昔のままではだめだろうけど
タスクシステムに類似した仕組みは必要だとは思ってる。
0105名前は開発中のものです。2009/06/04(木) 23:46:56ID:kDjxRHob
>>102
そうだな。
名前が嫌いだから使わんとか引数でやれとか…
意味の無い自己主張してちゃチーム内でやってけないだろうな。
0106名前は開発中のものです。2009/06/04(木) 23:48:26ID:knZRgA/j
>>105
代表的なアルゴリズム(笑)とかで発表してくれればいいんだけどねw
0107名前は開発中のものです。2009/06/04(木) 23:54:18ID:Kc8YoqZY
引数の話に触れるとこのスレにいるであろう
やねうらおの勢いが弱まるのがわかるな

やっぱり自分が何をしているのか気づいてる感があるな
堂々と反論しないもんねw

引数と引数無しで関数を呼び出してしまったときの
なんの値が変更されたのかさっぱりわからない不具合は
プログラム数年組んでればかなりやっかいなもんだって普通に気がつくだろ
まったく無視してタスクタスク叫んでるなんてホント恥ずかしい以外なにもんでもないだろ
0108名前は開発中のものです。2009/06/05(金) 00:10:42ID:2tFnphs7
昨今のポトペタ環境なんて、
ほとんどのコンポーネントがフォームのメンバ変数でインスタンス持ってるわけで。
時代はまたグローバル変数時代に回帰しているわけだが。
まぁ言っても無能には分からんか。
0109名前は開発中のものです。2009/06/05(金) 00:11:53ID:LSp/f/Ff
引数君ってprintfもmallocも使えないんだろうね…
stdoutはグローバルだしmainにヒープ情報の入った引数なんてないし。
0110名前は開発中のものです。2009/06/05(金) 00:14:39ID:/7CplWfL
>>109
また、そうやってはぐらかす
お前は
グローバル変数とか使えるからってガンガン使っていくほど
馬鹿なの?
0111名前は開発中のものです。2009/06/05(金) 00:15:45ID:2tFnphs7
もはや言ってる意味が分からん。はぐらかしているのはお前だ。
0112名前は開発中のものです。2009/06/05(金) 00:17:01ID:iV7/c5Cj
>グローバル変数時代に回帰している
よくわからんなあ

そこまでして何を求めるの?
効率?
0113名前は開発中のものです。2009/06/05(金) 00:17:01ID:LSp/f/Ff
>>110
はぐらかさないで答えてごらん。
printfやmallocは使えるのかい?
0114名前は開発中のものです。2009/06/05(金) 00:19:27ID:2tFnphs7
>>112
Visual Studio Express Editionがタダで手に入るから、
インストールして適当なGUIプログラム書いてみれ。
0115名前は開発中のものです。2009/06/05(金) 00:21:24ID:/7CplWfL
>>113
元の話と明らかに関係ないじゃん
それのできる・できないが次にどの話題に発展するのかためしに言ってみろよチンカス
0116名前は開発中のものです。2009/06/05(金) 00:24:47ID:2tFnphs7
>>115
サーバークライアントモデルにおける、
サーバーをグローバル変数(システム内で一つ)にすることのメリット云々の話に発展する。
0117名前は開発中のものです。2009/06/05(金) 00:25:08ID:LSp/f/Ff
>>115
元の話と明らかに関係あるんだけど…
少しは脳みそ使ったほうがいいと思うぞ。
0118名前は開発中のものです。2009/06/05(金) 00:27:16ID:/7CplWfL
>>116
printfやmallocの話はどこいったんだよ

そうやって関係ことがわからないから
実装してもまったく意味のないものに力を注ぎ続けて後戻りできなくなっちゃったんじゃないの?君?
ダサいよね
たった1回の間違えを認めないからここまで無意味なことに人生費やして虚しくない?
君のやってることってまったく意味がないんだよ
0119名前は開発中のものです。2009/06/05(金) 00:28:20ID:iV7/c5Cj
>>114
GUIはいいけどここはゲームのタスクシステムの話ですよ
0120名前は開発中のものです。2009/06/05(金) 00:28:53ID:2tFnphs7
たとえば、ゲーム内でスクリプト使うのだって、
スクリプトの入出力を固定化して単純化するところにミソがある。
0121名前は開発中のものです。2009/06/05(金) 00:32:34ID:/7CplWfL
>>120
その「たとえば」って何につながってるのかさっぱりわからないんだけど?w
0122名前は開発中のものです。2009/06/05(金) 00:33:35ID:LSp/f/Ff
>>118
printfやmallocをサービスとして抽象化して話してる例だが…
抽象的な話が理解できるようになるのは小学校3年生ぐらいからで
坊やにはまだ早かったのかもな。
0123名前は開発中のものです。2009/06/05(金) 00:35:46ID:/7CplWfL
>>122
>printfやmallocをサービスとして抽象化して話してる例だが…
は?なんかよくわからない話はじめたけど
なに?サービスって?なんのメリットがあって最終的な目的は何でそういう話をはじめたの?
まず、目的をいってくれない?
君の気まぐれで振る話題についていくほど暇じゃなくて
最終的に導き出したい答えをまずいってくれない?
0124名前は開発中のものです。2009/06/05(金) 00:37:59ID:2tFnphs7
Unixだって、標準入出力を用意して、入出力を固定化したことによる利便性で発展したというのに。
0125名前は開発中のものです。2009/06/05(金) 00:38:06ID:LSp/f/Ff
>>123
坊やは寝る時間だよ。
オネショしないように寝る前にトイレいくんだぞ。
おやすみ。
0126名前は開発中のものです。2009/06/05(金) 00:42:25ID:/7CplWfL
>>125
ハハ、だっせw
逃げたよw
0127名前は開発中のものです。2009/06/05(金) 00:47:01ID:/7CplWfL
最後にもう一回いっておくけど
お前のこれまでやってきたことはなんの意味もない
これまでの人生もいっしょに意味がない

このレスのやりとりでもわかるように
全然脈絡のないことに気まぐれで飛びつくから最終的な答えをだすことができない
なぜそういう行動をとったのか?なぜそういう言動をしたのか?
すべてに理由がない
目的も理由もないから何をやっても無駄
たまたまやったことのメリットを探して他の人に触れ回る
ポリアンナ症候群の末期だな

ぶっちゃけお前技術者向いてないからw
一つ一つ積み上げていった人間に当たるとちっとも歯が立たない

お前のやってきたことなんてしょぼいんだよw
0128名前は開発中のものです。2009/06/05(金) 00:52:53ID:2tFnphs7
自己紹介乙
0129名前は開発中のものです。2009/06/05(金) 01:03:47ID:LSp/f/Ff
ここまでくると痛々しいな。

自分の理解できない話なら無理にからまなければいいのに。
「は?理解できないんですけど」って自分の頭の悪さをわざわざ言いふらさなくても…
0130名前は開発中のものです。2009/06/05(金) 02:09:43ID:sqtpmwaV
引数君ってたしかオブジェクト指向も否定してなかったっけ
つか過疎ってたように見えたけど意外と人いたんだな
0131名前は開発中のものです。2009/06/05(金) 02:16:42ID:ykmxa4wC
>>128
ワロタ
0132名前は開発中のものです。2009/06/05(金) 03:59:45ID:426pRQd2
>ぶっちゃけお前技術者向いてないからw
普通は言われたら傷つく言葉なのに
この子に言われると逆ににやけてしまう不思議
0133名前は開発中のものです。2009/06/05(金) 04:26:28ID:GOddi5PD
引数君、いくらなんでも基地外すぎるだろw
0134名前は開発中のものです。2009/06/05(金) 07:26:02ID:ruoJTJVP
タスクが変更されたかどうかは、
フックするかロギングでいいじゃん。

「同じ引数を与え続ける限り、その関数の動きは変わらない」
故に
「引数を変えたとき、その関数の動きは変わる」
故に、関数は引数によって動きを制御すべきだ、
という論旨で、

即ち、引数によって変更を知ることができる。
ということが言いたいのはわかるけど

凝集度と疎結合を考えたとき、
引数は依存性を高める訳で、
あらゆることを常に引数でコントロールしなければならず、
その依存性を引き離せない。

独立したオブジェクトの自立駆動を考えるなら、
コンストラクト時の引数によって動きを制御し、
その後の引数に頼るべきではないと思うけど。
0135名前は開発中のものです。2009/06/05(金) 08:34:06ID:PGMss8TE
当たり前だろ
引数以外のアクセスを制限するためにやってんだから
こうすることで引数以外の心配をせずに済む
関数の入力と出力もはっきりする
これがデメリットとか言っちゃうの?(笑)
面倒臭いから引数通してないだけだろお前のプログラムって
0136名前は開発中のものです。2009/06/05(金) 09:34:27ID:5cBLdNdX
引数がどうだとかアルゴリズム以前の問題だよ
お前1人だけレベルが桁違いだわマジで
0137名前は開発中のものです。2009/06/05(金) 11:30:37ID:iLixPBxc
やねうらおというキーワードが常に脳内にこびりついてる引数おばけさんは例の人なのかな?
本当に彼は厨とキチガイを引きつける天才だな
0138名前は開発中のものです。2009/06/05(金) 11:37:24ID:iV7/c5Cj
引数可変を想定するなら連絡用の構造体を用意して引数はその構造体のポインタだけにして
とか工夫すればいいし、引数にこだわる人は頭固すぎ、あと挑発に乗りすぎ

みなさん大人げない

0139名前は開発中のものです。2009/06/05(金) 11:48:46ID:ykmxa4wC
>>137
> 本当に彼は厨とキチガイを引きつける天才だな

言い得て妙だな。まあ、氏は東大の大学院に行ける程度の天才(天災?)ではあるんだろうけど。
0140名前は開発中のものです。2009/06/05(金) 12:57:27ID:PGMss8TE
引数の可変なんて想定してないだろ
0141名前は開発中のものです。2009/06/05(金) 20:24:30ID:q/V6VtMh
>106
knuth御大が本にしたら、アンチ派も転向したりするのかな?
0142名前は開発中のものです。2009/06/05(金) 21:52:07ID:k3aCK9Tq
>>135
引数中心のメリットはそこじゃなくて、
型やモジュールの直交性が高まるところにあると思う
なのでオブジェクトを引数に渡すのは上層以外はなるべく避ける
お互いの構造を詳しく記憶しておく必要のあるJavascriptやActionScriptは苦痛だなー
0143名前は開発中のものです。2009/06/05(金) 23:54:01ID:2tFnphs7
もしも、引数君がwin32apiを設計したら。

GetMessage( &dosv, &x86, &win32, &process, &thread, &queue, &msg, NULL, 0, 0 );

めんどくせーし、可読性も落ちる。バグの元だな。
0144名前は開発中のものです。2009/06/06(土) 00:12:45ID:xh4G82o4
>>142
>なのでオブジェクトを引数に渡すのは上層以外はなるべく避ける
は?
単純に引数無しの関数が山盛りのソースでさ

unko();

↑これで呼び出し側から何がわかるの?
この関数を実行することでどの変数を弄る可能性があるのかなんにもわからないじゃん
問題は変更するデータがわからないことなんだよ
プログラムを組む上でこれ以上困難なことってあるか?
この関数を実行することで変更されるデータがまったくわからないんだぞ
何が変更される?
どの変数がバグってる?
すべてがわからない
これを駄目だと思わない脳みそがすでに駄目だろお前等
0145名前は開発中のものです。2009/06/06(土) 00:26:58ID:0TMMUW3y
>>144
引数がないことに対するデメリットはわかります。

でも、あらゆる関数を引数必須にした場合、

classや状態すらつくれないですよね?
あと、
引数必須だとスレッドとか使えないですよ?
スレッドではなくても、
サウンドのストリーミングとか、
割り込みとかはどうするのでしょう?
そういうのはやっぱりなしですか?

何が変更されるか、どの変数がバグっているか
は引数がなくてもオブジェクトの凝集度を高めればわかりますよ。
0146名前は開発中のものです。2009/06/06(土) 00:38:38ID:xh4G82o4
>>145
そんなの必要になるのって限られたところだけだろ?
しかもなんで必要かってもとのシステム作ったやつが引数を頭に入れてねぇから
引数が入らないだけで別に自分で作ったもんなら引数付けられるんだから問題ないじゃん
全体の1%未満の例外もってきて反論してんなよ
引数使えるところは引数つけろよ
だからお前馬鹿だっていうんだぞ
だいたいそーゆー部分はライブラリなりヘルプもちゃんとある部分なんだからいいんだよ
(できればやってほしくはないが)

問題は自作でヘルプも満足にねーのにそんな構造にしちまうところだ
0147名前は開発中のものです。2009/06/06(土) 00:44:48ID:IEIMR7tl
何か長文書いてるけど、
グローバル変数ってことは、プロセスに一つしかないのだから、何が変更されるのかは明確だ。
0148名前は開発中のものです。2009/06/06(土) 00:46:22ID:xh4G82o4
>>147
いや、そういうギャグはもういいからw
0149名前は開発中のものです。2009/06/06(土) 00:49:09ID:IEIMR7tl
引数を設けるということは、それだけ自由度を与えるということ。
必要ないなら削った方が良い。
0150名前は開発中のものです。2009/06/06(土) 00:54:53ID:xh4G82o4
>>149
はぁ?関係ないだろ

chinko.x = 20;
chinko.y = 30;
chinko.z = 40;
chinko.a = 50;
chinko.b = 60;
unko();

とかやって構造体chinkoがunko関数の中身に影響があったら自由度云々に関しては
引数なくても中身に影響あるじゃん
意味不明なこと言ってんじゃねぇよ

ちなみに俺の希望としては

unko(&chinko);でなくてunko(x,y,z,a,b);とできるべきだと思ってる
0151名前は開発中のものです。2009/06/06(土) 00:58:05ID:5AeUfGm+
150が噂の引数君か

const修飾子すら知らなさそうだな
本当、話にならないような基地外だわ、こいつは
0152名前は開発中のものです。2009/06/06(土) 00:58:58ID:IEIMR7tl
>>150
そんなプログラム書く人居ないから問題ない。
全体の1%未満の例外もってきて反論しないでほしい。
0153名前は開発中のものです。2009/06/06(土) 01:00:31ID:IEIMR7tl
>ちなみに俺の希望としては
>unko(&chinko);でなくてunko(x,y,z,a,b);とできるべきだと思ってる

>>143
0154名前は開発中のものです。2009/06/06(土) 01:02:48ID:xh4G82o4
>>153
>>144
0155名前は開発中のものです。2009/06/06(土) 01:05:51ID:IEIMR7tl
実際のwin32apiがそうなっていないって時点で、それまでなんだよ。
お前なんかよりはマイクロソフトの社員の方が頭いいからな。
0156名前は開発中のものです。2009/06/06(土) 01:07:34ID:WOc4dWi0
引数さんはもうWin32でプログラム組めないんだね、かわいそうに・・・
0157名前は開発中のものです。2009/06/06(土) 01:09:57ID:xh4G82o4
>>155
なってるじゃん
CreateWindowなんてすげー量の引数じゃん
RegisterClassも強引に引数1つにしてるけどぶっちゃけ何が設定足りないのかわかりずらいだけだよね
0158名前は開発中のものです。2009/06/06(土) 01:13:57ID:IEIMR7tl
大体、システムをシステムたらしめてるデータ群をintやcharレベルで分解していちいち引数で渡していたら、
引数が100個とか200個とかになるぞ。4x4マトリックスですら16個もメンバあるのに。
引数の指定ミスったらどうするんだよ。

オブジェクトや構造体はポインタでやりとりするのが普通だし、
OSのリソースはハンドルでやりとりする。
ファイルにはファイル名がある。

お前みたいなクズにだって親が名前を付けてくれていて、
普段はそれつかってコミュニケーションとってるだろ。
それと同じだ。
0159名前は開発中のものです。2009/06/06(土) 01:14:44ID:IEIMR7tl
>>157
でも一度作ったら、あとはハンドルでやり取りするだろ。
0160名前は開発中のものです。2009/06/06(土) 01:18:28ID:xh4G82o4
まあ、引数を使う理由の1つは>>144
徹底すればプロジェクトでバグ数が1000とか4桁は
絶対にいかないようになるぐらい効果絶大俺オススメ
単純だけどプロの技術ですよ
まあ、これが一番大事かなぁ

後は、引数を通してはいるけど型を誤魔化してるってのもやらないほうがいいぞ
たしかに実装はほんのちょっと楽にはなるが
実行してみるまで何がくるのかわからないプログラムになってしまうぞ
ということはいくらコードレビューなんてやろうともソースを丁寧に整備しようと
そのプログラムは動かしてみるまでどうなってるのかほとんどわからない
プログラムになってしまう
汎用性をつけるっていってもそりゃMSが提供するライブラリならわかるけど
個人が作る関数にそんなもんいらないからはっきりいってやらないほうがいい

>>158
>引数の指定ミスったらどうするんだよ。
コンパイル時にエラーが出るんじゃない(笑)
0161名前は開発中のものです。2009/06/06(土) 01:23:47ID:IEIMR7tl
>>引数の指定ミスったらどうするんだよ。
>コンパイル時にエラーが出るんじゃない(笑)

普通ならコンパイルエラーが出る筈だが、お前のやり方だと、
型として纏まってた筈のデータをintやcharに分解して引数で渡すから、
コンパイラの型チェックを殺してしまう。
0162名前は開発中のものです。2009/06/06(土) 01:26:02ID:QPxFjGuq
void hoge(int x1, int x2, int x3);



{
 hoge(x1, x1, x3);
}
0163名前は開発中のものです。2009/06/06(土) 01:26:24ID:C+Rvd4dM
不毛すぎる

現代版の最強でない、シンプルなタスクシステムの代替アルゴリズムをみんなで考えろよw

最強を考え出すと喧嘩になるから
0164名前は開発中のものです。2009/06/06(土) 01:28:49ID:YPKwIylL
で、結局引数君はprintfやmallocは使えない、と。

あぁ、標準入出力やヒープの概念を理解してないから
なんでグローバル変数と関係があるか、すらわからないか
0165名前は開発中のものです。2009/06/06(土) 01:29:30ID:C+Rvd4dM
>>164
そういうあおりはいらんというに
0166名前は開発中のものです。2009/06/06(土) 01:38:04ID:C+Rvd4dM
前向きな提案したら静かになった
0167名前は開発中のものです。2009/06/06(土) 01:44:47ID:IEIMR7tl
しょうがないな。

シンプルなタスクシステムをお求めなら、型ごとにリストを持つスタイルがお勧め。
01681422009/06/06(土) 02:01:22ID:LkHpnJAV
>>144
全く噛み合わないレス返されても困る。
俺はそんな所にふれてないしな
それともプリミティブとオブジェクトの区別もつかない人?
0169名前は開発中のものです。2009/06/06(土) 02:06:35ID:5AeUfGm+
引数君は知障だから触らないほうがよくね?
0170名前は開発中のものです。2009/06/06(土) 02:08:38ID:C+Rvd4dM
>>169
この際明確な答えを出す方がいい。

リスト、キュー、ソートなどなどのようなのに加えてしまえばいいだけ。

あとは自分なりにそこから派生として考えればいいだけ。
タスクシステムというのだって根本的な部分は動的に変化する
オブジェクトを効率よく管理するためのアルゴリズムでしかないんだし
0171名前は開発中のものです。2009/06/06(土) 02:21:46ID:YPKwIylL
ここはおつむの弱いアンチタスクや引数君みたいなのを隔離して遊んでやるスレ。

まともな話をこのスレで初めてもおつむの弱い子たちのコンプレックスの餌食になるだけだ。

まぁ前スレでフルボッコにされたアンチタスクがゲ製作技術の別スレに逃げ出して
迷惑かけたみたいだから、逃げ出さない程度に加減して遊んでやろう。
0172名前は開発中のものです。2009/06/06(土) 02:23:06ID:C+Rvd4dM
>>171
アンチとは失敬な
名前が嫌いなだけで同様の手法は必要だと思ってるぞw
0173名前は開発中のものです。2009/06/06(土) 09:36:40ID:qdRKJ34Y
>>150がスレの主題に合っているかは知らないが
言っていることは、非常によくわかる。
これは、他人が作ったソースを読むときに
出てくるんであって、俺ソースのメンテナンスだけでは
わからない。
0174名前は開発中のものです。2009/06/06(土) 10:57:01ID:yoFXLlZ9
久しぶりに本家の引数クンが出現してるなぁwww

相変わらずの無能っぷりでワロタwwwww
0175名前は開発中のものです。2009/06/06(土) 11:05:51ID:yoFXLlZ9
>160
ちょっとここでいわゆる『タスク』という言葉を使わせてもらうが、まぁ個々に内部状態を保持した
何かの動作単位だと思ってくれればいいよ。

タスクの内部の状態によって必要なパラメータが変わる場合は、その都度引数を変えた関数を用意
して、呼び出し側が『タスクの内部状態を参照』して呼び出す関数を変更するんですねwww

さすが、引数クンのそのストイックさにシビレル、アコガレルゥwww
0176名前は開発中のものです。2009/06/06(土) 11:21:09ID:yoFXLlZ9
おっと、強調する部分を間違えたw

×呼び出し側が『タスクの内部状態を参照』して
○『呼び出し側がタスクの内部状態を参照』して

こっちの方が通りがいいな。

さあ、引数クンのストイックさにあこがれて引数でパラメータを渡そうと思ってるオコチャマは、
ナニが問題なのかよ〜く考えてみようw
0177名前は開発中のものです。2009/06/06(土) 15:47:20ID:LkHpnJAV
>>175
> タスクの内部の状態によって必要なパラメータが変わる場合は、
問題になるほどこういう状況が発生していいのだろうか…?
それはタスクシステムを使った場合においても破綻するぞ
柔軟性の無い思考を否定するために自らが根本を間違えてしまうのはどうなの?
0178名前は開発中のものです。2009/06/06(土) 17:14:27ID:yoFXLlZ9
>177
例) 状態Aでは外部情報a,b,cを参照して、状態Bでは外部情報a,c,d,eを参照する

なんていうのは、AI作ってれば(AIでなくとも)よくあることだよ。

その際、引数クンはそれぞれ異なった引数を持つ状態更新関数
 UpdateWithStateA( a, b, c )

 UpdateWithStateB( a, c, d, e )
を作成して、外から状態に応じて呼び分けるんだろ。
なにせ『引数しか使っちゃダメ』で、しかも『不必要な情報を引数で渡したらダメ。コンテキストをまとめて
渡すなんてもってのほか、誰がその情報を変更したか分からなくなるよ!!!』なんだからwwwww
0179名前は開発中のものです。2009/06/06(土) 17:24:03ID:5AeUfGm+
> 誰がその情報を変更したか分からなくなるよ!!

これなのだが、分からなくなっていいと思うのだが。
引数君は本当にプログラム1行でも書けるんだろうか…。
0180名前は開発中のものです。2009/06/06(土) 17:42:40ID:LkHpnJAV
>>178
論理的に成り立ってない
君はただの勝ち馬乗りだよ
間違いに間違いでの応酬は無意味
0181名前は開発中のものです。2009/06/06(土) 17:45:47ID:LkHpnJAV
手段が一通りしかないという飛躍した考えは
初期のスレからずっとある

議論にならないのもよくわかる

しかもそういう奴に限って後出しのために含みを残している
これではコードも示せない
0182名前は開発中のものです。2009/06/06(土) 19:08:52ID:xh4G82o4
ID:xh4G82o4だけど

>>178
それであってるよ
ステータスが代わるなら呼び出す関数を替える
仮に

Q.ステータスが1000個あったらどうするか?
A.関数を1000個(および必要なもの)すべてを用意します(使いまわしは絶対にしません)

でFA
仮に引数を共通化して

//1つ目の引数はステータス、2つ目の引数はステータスに必要なデータの束
changeState(int state,void* date);

みたいなもんを使っても内部でswitchかそれに代わるものが絶対に必要になるから
こっちのがいい
もし、こうなっていない・これを面倒だと思うプログラムがあったら
それは非常に危険なコードを抱えてる可能性がある
0183名前は開発中のものです。2009/06/06(土) 19:11:05ID:xh4G82o4
あ、こっちのがってのは関数をステータスの数分用意するほうね
0184名前は開発中のものです。2009/06/06(土) 20:10:44ID:yoFXLlZ9
>182
呼び出す関数が1000個あるということは、呼び出し元が1000箇所か。
頑張って呼び分けてくれwww

それとも、それら上位に一つ関数を作ってそこでコンテキストを受け取って、その中で1000個の
ステータスごとの関数を呼び分けるつもりなのかな?

まぁ、どっちにしてもお疲れさんってことでwww

>178
> 論理的に成り立ってない

wwwww
>182を見習えよwww
0185名前は開発中のものです。2009/06/06(土) 20:11:37ID:yoFXLlZ9
>178じゃ事故レスじゃねぇかwww
>180だwww

>180
>182を見習えよwww
■ このスレッドは過去ログ倉庫に格納されています