タスクシステム総合スレ part7
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/05/07(木) 13:33:06ID:u3YZJr5Epart6 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」と明示してください
そうでない場合はカスタム版であることを明示してください
・人を憎んで言語を憎まず
0160名前は開発中のものです。
2009/06/06(土) 01:18:28ID:xh4G82o4徹底すればプロジェクトでバグ数が1000とか4桁は
絶対にいかないようになるぐらい効果絶大俺オススメ
単純だけどプロの技術ですよ
まあ、これが一番大事かなぁ
後は、引数を通してはいるけど型を誤魔化してるってのもやらないほうがいいぞ
たしかに実装はほんのちょっと楽にはなるが
実行してみるまで何がくるのかわからないプログラムになってしまうぞ
ということはいくらコードレビューなんてやろうともソースを丁寧に整備しようと
そのプログラムは動かしてみるまでどうなってるのかほとんどわからない
プログラムになってしまう
汎用性をつけるっていってもそりゃMSが提供するライブラリならわかるけど
個人が作る関数にそんなもんいらないからはっきりいってやらないほうがいい
>>158
>引数の指定ミスったらどうするんだよ。
コンパイル時にエラーが出るんじゃない(笑)
0161名前は開発中のものです。
2009/06/06(土) 01:23:47ID:IEIMR7tl>コンパイル時にエラーが出るんじゃない(笑)
普通ならコンパイルエラーが出る筈だが、お前のやり方だと、
型として纏まってた筈のデータをintやcharに分解して引数で渡すから、
コンパイラの型チェックを殺してしまう。
0162名前は開発中のものです。
2009/06/06(土) 01:26:02ID:QPxFjGuq・
・
・
{
hoge(x1, x1, x3);
}
0163名前は開発中のものです。
2009/06/06(土) 01:26:24ID:C+Rvd4dM現代版の最強でない、シンプルなタスクシステムの代替アルゴリズムをみんなで考えろよw
最強を考え出すと喧嘩になるから
0164名前は開発中のものです。
2009/06/06(土) 01:28:49ID:YPKwIylLあぁ、標準入出力やヒープの概念を理解してないから
なんでグローバル変数と関係があるか、すらわからないか
0165名前は開発中のものです。
2009/06/06(土) 01:29:30ID:C+Rvd4dMそういうあおりはいらんというに
0166名前は開発中のものです。
2009/06/06(土) 01:38:04ID:C+Rvd4dM0167名前は開発中のものです。
2009/06/06(土) 01:44:47ID:IEIMR7tlシンプルなタスクシステムをお求めなら、型ごとにリストを持つスタイルがお勧め。
0168142
2009/06/06(土) 02:01:22ID:LkHpnJAV全く噛み合わないレス返されても困る。
俺はそんな所にふれてないしな
それともプリミティブとオブジェクトの区別もつかない人?
0169名前は開発中のものです。
2009/06/06(土) 02:06:35ID:5AeUfGm+0170名前は開発中のものです。
2009/06/06(土) 02:08:38ID:C+Rvd4dMこの際明確な答えを出す方がいい。
リスト、キュー、ソートなどなどのようなのに加えてしまえばいいだけ。
あとは自分なりにそこから派生として考えればいいだけ。
タスクシステムというのだって根本的な部分は動的に変化する
オブジェクトを効率よく管理するためのアルゴリズムでしかないんだし
0171名前は開発中のものです。
2009/06/06(土) 02:21:46ID:YPKwIylLまともな話をこのスレで初めてもおつむの弱い子たちのコンプレックスの餌食になるだけだ。
まぁ前スレでフルボッコにされたアンチタスクがゲ製作技術の別スレに逃げ出して
迷惑かけたみたいだから、逃げ出さない程度に加減して遊んでやろう。
0172名前は開発中のものです。
2009/06/06(土) 02:23:06ID:C+Rvd4dMアンチとは失敬な
名前が嫌いなだけで同様の手法は必要だと思ってるぞw
0173名前は開発中のものです。
2009/06/06(土) 09:36:40ID:qdRKJ34Y言っていることは、非常によくわかる。
これは、他人が作ったソースを読むときに
出てくるんであって、俺ソースのメンテナンスだけでは
わからない。
0174名前は開発中のものです。
2009/06/06(土) 10:57:01ID:yoFXLlZ9相変わらずの無能っぷりでワロタwwwww
0175名前は開発中のものです。
2009/06/06(土) 11:05:51ID:yoFXLlZ9ちょっとここでいわゆる『タスク』という言葉を使わせてもらうが、まぁ個々に内部状態を保持した
何かの動作単位だと思ってくれればいいよ。
タスクの内部の状態によって必要なパラメータが変わる場合は、その都度引数を変えた関数を用意
して、呼び出し側が『タスクの内部状態を参照』して呼び出す関数を変更するんですねwww
さすが、引数クンのそのストイックさにシビレル、アコガレルゥwww
0176名前は開発中のものです。
2009/06/06(土) 11:21:09ID:yoFXLlZ9×呼び出し側が『タスクの内部状態を参照』して
○『呼び出し側がタスクの内部状態を参照』して
こっちの方が通りがいいな。
さあ、引数クンのストイックさにあこがれて引数でパラメータを渡そうと思ってるオコチャマは、
ナニが問題なのかよ〜く考えてみようw
0177名前は開発中のものです。
2009/06/06(土) 15:47:20ID:LkHpnJAV> タスクの内部の状態によって必要なパラメータが変わる場合は、
問題になるほどこういう状況が発生していいのだろうか…?
それはタスクシステムを使った場合においても破綻するぞ
柔軟性の無い思考を否定するために自らが根本を間違えてしまうのはどうなの?
0178名前は開発中のものです。
2009/06/06(土) 17:14:27ID:yoFXLlZ9例) 状態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論理的に成り立ってない
君はただの勝ち馬乗りだよ
間違いに間違いでの応酬は無意味
0181名前は開発中のものです。
2009/06/06(土) 17:45:47ID:LkHpnJAV初期のスレからずっとある
議論にならないのもよくわかる
しかもそういう奴に限って後出しのために含みを残している
これではコードも示せない
0182名前は開発中のものです。
2009/06/06(土) 19:08:52ID:xh4G82o4>>178
それであってるよ
ステータスが代わるなら呼び出す関数を替える
仮に
Q.ステータスが1000個あったらどうするか?
A.関数を1000個(および必要なもの)すべてを用意します(使いまわしは絶対にしません)
でFA
仮に引数を共通化して
//1つ目の引数はステータス、2つ目の引数はステータスに必要なデータの束
changeState(int state,void* date);
みたいなもんを使っても内部でswitchかそれに代わるものが絶対に必要になるから
こっちのがいい
もし、こうなっていない・これを面倒だと思うプログラムがあったら
それは非常に危険なコードを抱えてる可能性がある
0183名前は開発中のものです。
2009/06/06(土) 19:11:05ID:xh4G82o40184名前は開発中のものです。
2009/06/06(土) 20:10:44ID:yoFXLlZ9呼び出す関数が1000個あるということは、呼び出し元が1000箇所か。
頑張って呼び分けてくれwww
それとも、それら上位に一つ関数を作ってそこでコンテキストを受け取って、その中で1000個の
ステータスごとの関数を呼び分けるつもりなのかな?
まぁ、どっちにしてもお疲れさんってことでwww
>178
> 論理的に成り立ってない
wwwww
>182を見習えよwww
0185名前は開発中のものです。
2009/06/06(土) 20:11:37ID:yoFXLlZ9>180だwww
>180
>182を見習えよwww
0186名前は開発中のものです。
2009/06/06(土) 22:32:13ID:DjY3tAB7君のやり方は認めるから
実際に作った上でどうメリット・デメリットがあったか語ってくれ
0187名前は開発中のものです。
2009/06/06(土) 23:19:34ID:qdRKJ34Yboost::variantとかで、十分安全に出来ると思うし
そっちで妥協して。
0188名前は開発中のものです。
2009/06/07(日) 02:05:11ID:W179Gh2Yプログラムを逆に見てみたいなぁ。
引数のうちの型が一つ変わっただけで
一体どれだけの修正の手間が掛かって
それをどうやって解消しているのだろう?
今の世にあるコードリファクタリング機構じゃ歯が立たないよ。
ゲーム開発なんて仕様変更は日常茶飯事なのになあ。
0189名前は開発中のものです。
2009/06/07(日) 02:08:38ID:3ohyM900ID:xh4G82o4だけど
メリットというか引数を無くすことがデメリットであって
メリットなんてない
引数無しは引数がないことによるデメリットが生まれるだけでメリットは一つもない
上のほうで馬鹿が何も考えずに「1000個用意するの?馬鹿じゃね?w」的に煽ってるけど
ぶっちゃけ代わらない
絶対に関数の中で分岐が必要になる
もし、なくしたらバグが止まらない
仮に開発資料でステータスごとの初期化パラメータ一覧を出せといわれたら
この馬鹿は何を出すのか?多分こいつのプログラムはすべての処理を追いかけて
やっと1つのステータスの初期化状態がわかるといったプログラムになってる
恐ろしいほどダサいソースになってるはず
0190名前は開発中のものです。
2009/06/07(日) 02:09:50ID:3ohyM900タスクなんて使わないで組めばいいよ
タスクを使わないバージョンは前にこのスレでも書いてあげたんだけど
参加してなかったんなら暇なときに比較ソースをあげるよ
0191名前は開発中のものです。
2009/06/07(日) 02:27:59ID:atKK+Qwb0192名前は開発中のものです。
2009/06/07(日) 02:36:39ID:cdPek4Sb0193名前は開発中のものです。
2009/06/07(日) 08:40:48ID:mwRZn/c6ゲームなり何なりを完成まで作ってみれば、ここにいる人たちの発言も理解できるようになるんだろうけど…
0194名前は開発中のものです。
2009/06/07(日) 12:11:24ID:aehXa9i/> 引数無しは引数がないことによるデメリットが生まれるだけでメリットは一つもない
> 上のほうで馬鹿が何も考えずに「1000個用意するの?馬鹿じゃね?w」的に煽ってるけど
> ぶっちゃけ代わらない
1000個の関数を呼び分けるのに、分岐を使わないのか。
スゲー、ミラクルテクニックだな。
0195名前は開発中のものです。
2009/06/07(日) 12:15:45ID:aehXa9i/Task* t;
Task_Update0( t, a, b );
Task_Update1( t, b, c, d );
...
Task_Update999( t, zxy, ztt, zbc );
と書いておいて、それぞれのTask_Update#(...)の中で、
void Task_Update0( Task* t, InfoA a, InfoB b )
{
if ( t->state != 0 )
return;
// do something if state is 0
....
}
とかやるつもりなんだろうか?
0196名前は開発中のものです。
2009/06/07(日) 12:20:43ID:kY8Q/AF4いちいち煽らんでよろしい。
先のレスに「1000個の関数を呼び分けるのに、分岐を使わない」とは
一言も書いていない。
仮に1000の関数を省いたとしても、代わりに1000の分岐が生まれるんじゃ
余計に悪くなる、と書いている。
大体、1000の機能を提供するなら1000の関数が必要になるのは
当たり前。そこは問題じゃない。
0197名前は開発中のものです。
2009/06/07(日) 12:28:41ID:m2Sg/1Dmブロック崩しぐらいでいいから書いたソース見てみたいな。
0198名前は開発中のものです。
2009/06/07(日) 12:34:26ID:aehXa9i/オマエもバカのお仲間か。
> 仮に1000の関数を省いたとしても、代わりに1000の分岐が生まれるんじゃ
> 余計に悪くなる、と書いている。
引数の異なる1000個の関数を、分岐無しで呼び分ける方法を教えてくれ。
0199名前は開発中のものです。
2009/06/07(日) 12:36:29ID:aehXa9i/あぁ、自分がこの点に粘着しているのは、引数クンの言う『異なるパラメータが必要な関数は
全て異なる関数として作る』という主張に沿っているだけだから。
引数でしかデータを渡したらいけない。グローバルなものは一切使わない。
まぁ、頑張って考えてみてくれよ。
0200名前は開発中のものです。
2009/06/07(日) 12:39:07ID:QCME1dhS具体的に何を非難してるん?
下みたいな関数がアンチパターンだっつってんの?なんで?
void moveForward(SomeObject* obj);
void SomeObject::moveForward();
それとも単に古典タスクのTCB実装を非難してるん?
それなら>>1を読めよ
0201名前は開発中のものです。
2009/06/07(日) 12:46:22ID:kY8Q/AF4別に奴の主義は間違ってない。つーか、正しい。
ただ、今回のようなプログラムによる動的呼び出しには
組み込めないだけで。
だから、機知外の戯言的な受け取りは誤り。
0202名前は開発中のものです。
2009/06/07(日) 12:58:44ID:m2Sg/1Dm引数君はどう見ても知障。
あんたも、どうも言ってることがおかしい。
基地外同士、二人で仲良くやってなよ。
0203名前は開発中のものです。
2009/06/07(日) 13:02:37ID:aehXa9i/> 別に奴の主義は間違ってない。つーか、正しい。
キチガイは、一匹見たら30匹は居ると思わないといけないのか?
0204名前は開発中のものです。
2009/06/07(日) 13:16:25ID:m2Sg/1Dm> キチガイは、一匹見たら30匹は居ると思わないといけないのか?
それだ!
0205名前は開発中のものです。
2009/06/07(日) 14:11:07ID:kY8Q/AF4君らは、相手に何を伝えたいの?
自分の主張の正しさか?
それとも自分は負けてないってことか?
もうちょっと、大人になれよな。
まず、知障だの30匹だの
そういった言葉を外すところから始めるんだな。
0206名前は開発中のものです。
2009/06/07(日) 14:18:06ID:aehXa9i/建設的な意見の一つも出せない池沼クンは、早くググって最適解でも見つけてきてください。
0207名前は開発中のものです。
2009/06/07(日) 16:36:26ID:3ohyM900>>200
>>144と>>160な
レス読まないで書き込んだのか>>144と>>160が理解できないのか
どっちなんだマジで?
0208名前は開発中のものです。
2009/06/07(日) 17:18:05ID:IBZXm9gK今まで何本ゲーム作った?
0209名前は開発中のものです。
2009/06/07(日) 17:23:00ID:IBZXm9gKあ、お前も何本ゲーム作った?
0210名前は開発中のものです。
2009/06/07(日) 18:20:04ID:aehXa9i/オマエは、呼び出し側の実装PGに、『こっちで作った1000個の関数を、状態に応じて正しく呼び分けてくれ』、と
伝えるのか。
スゲー厚顔無恥だな。
0211名前は開発中のものです。
2009/06/07(日) 18:21:24ID:3ohyM900カウントに入れるのも微妙なのあるが5本ぐれーか?
中途半端に関わったのも入れると10本だ
もう30前半
0212名前は開発中のものです。
2009/06/07(日) 18:29:25ID:3ohyM900ステータスが1000個あったらそうなるね
回避は不可能
どう組もうがこれの省略はできない
ステータスが1000個あって1000個発動関数がない(もしくは分岐がない)プログラムは
なにかと何かのステータスの処理を暗黙に共有してるとかいう恐ろしいことになってる
せめて1000個の発動関数の中で共通なら共通なりの関数を呼ぶべきだろ
この1000個は絶対に省略できない処理だし、しても意味がない
0213名前は開発中のものです。
2009/06/07(日) 18:35:15ID:aehXa9i/1. 更新関数に渡す情報は、全て引数で渡さないといけない
であり、さらに、
いわゆるタスク(でも何でもいい、内部状態を持つ独立した何か)の更新処理について、
2. 1000個の状態があったら、それぞれの状態にあわせて1000個の更新関数を作る
2a. グローバル変数やそれに準ずるものの使用は不可
2b. コンテキストでまとめて、一つの引数として渡すことも不可
と主張し、しかも
3. 1000個の更新関数は、最悪の場合全て異なった引数を取る
3a. 1000個の更新関数は、内部状態に応じて正しく呼び分けなければいけない
3b. >182によると、内部で状態を見て分岐するのも不可
であるそうだ。
これを見て、ID:3ohyM900=ID:xh4G82o4がキチガイでないと思えるヤツは、センス無いとしか
言いようが無い。
0214名前は開発中のものです。
2009/06/07(日) 20:13:20ID:3ohyM900いいよ
そのまとめで問題ない
全部あってるよ
0215名前は開発中のものです。
2009/06/07(日) 20:47:03ID:gdjwroFSタスク絡みで読む価値があるのは
三宅さんが書いた黒須さんインタビュー記事だけだな
なかなか痛快な内容
0216名前は開発中のものです。
2009/06/07(日) 21:22:45ID:gdjwroFSpreemptiveでない、協調的なマルチタスキング(マルチスレッディング)は
貧弱ターゲット向けの組み込みシステム、OSではわりと使われてると思う
>>59
RTOSのキューも基本的に同じ。というかマルチタスキングするOSのレディキューを
説明するときの概念図は基本的にリング状になってる。
「条件がそろうまでは残る感じ」の周期タスクは別段珍しいものではない
0217名前は開発中のものです。
2009/06/07(日) 22:30:17ID:cdPek4Sb0218名前は開発中のものです。
2009/06/07(日) 22:55:45ID:cdPek4Sb>2b. コンテキストでまとめて、一つの引数として渡すことも不可
で、
・コンパイラの型チェックの機能が死ぬ
・関数がネストすることを考えると、上位関数の引数の数がとんでもないことになる
・プログラマは大概intな途轍もない数の引数を間違えずに指定する必要がある
・呼び出し元は、呼び出し先モジュールの内部構造に依存したコードを書かされる
→モジュール化、カプセル化不可能
・モジュール化、カプセル化出来てないから、バグがあった場合、
それが呼び出し元のバグなのか、呼び出し先のバグなのか判断が付かない。
・とりあえず、今まで生きてきたなかで、
そんな仕様のプログラムなりライブラリなりは見たことない。
0219名前は開発中のものです。
2009/06/07(日) 23:02:46ID:cdPek4Sbm2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16);
うげげげげげ。
0220名前は開発中のものです。
2009/06/07(日) 23:28:53ID:mwRZn/c6変数名からクラス名まで全てをアルファベット1文字で書くのがいたなぁ…
class A { int B; void D(float E) { ... } }; とか。
周りがどんなに説得しても「コンパイラにかかる負荷が…」どーのこーの言って
けっして屈しないらしい。
普通ならそんな偏屈プログラマ、クビにして終わりなんだが、その中小デベロッパの社長が
人情の人でクビはしない主義らしいからまだプログラマ続けてるらしいけど…
引数君を見てたら彼を思い出した。
0221名前は開発中のものです。
2009/06/07(日) 23:59:01ID:aehXa9i/> いいよ
> そのまとめで問題ない
> 全部あってるよ
こんなキチガイと一緒に仕事したくねぇwwwww
0222名前は開発中のものです。
2009/06/08(月) 00:40:53ID:cRHoD8w8それはちがくね?
まず
・MATRIX管理構造体の何か?
・MATRIX構造体
の2つがあってMATRIX構造体のほうにまず入れる必要があるんだよね?
だったらまずMATRIX構造体にmX_Xの変数を入れる処理がどっかにあるんだよね?
ところがそのコードはいきなりMATRIX管理構造体に突っ込む想定をしてるじゃん
0223名前は開発中のものです。
2009/06/08(月) 01:52:36ID:wcKZ/hFx何わけの分からないこと言ってるんだ?誰か解読してあげて。
ともかく、例の彼のやりかただと、
例え構造体使ったとしても、関数呼び出すたびに構造体のメンバがバラバラになるんだから、
初めから構造体なんて意味ない。だからきっと使わないのだろう。
こんなかんじで。
some_function(
・・・
&m1_1, &m1_2, &m1_3, &m1_4, &m1_5, &m1_6, &m1_7, &m1_8, &m1_9, &m1_10, &m1_11, &m1_12, &m1_13, &m1_14, &m1_15, &m1_16,
m2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16
・・・)
{
・・・
matrix_add( &m1_1, &m1_2, &m1_3, &m1_4, &m1_5, &m1_6, &m1_7, &m1_8, &m1_9, &m1_10, &m1_11, &m1_12, &m1_13, &m1_14, &m1_15, &m1_16,
m2_1, m2_2, m2_3, m2_4, m2_5, m2_6, m2_7, m2_8, m2_9, m2_10, m2_11, m2_12, m2_13, m2_14, m2_15, m2_16,
m3_1, m3_2, m3_3, m3_4, m3_5, m3_6, m3_7, m3_8, m3_9, m3_10, m3_11, m3_12, m3_13, m3_14, m3_15, m3_16);
・・・
}
0224名前は開発中のものです。
2009/06/08(月) 02:00:16ID:cRHoD8w8違うってよく考えろ
matrix_addなんて関数があったらそれにmatrix構造体の
メンバを突っ込むなんてプログラムスタイルがねーんだよ
無意味なことをやってる
おそらくmatrix_addでそんなメンバが用意されてるなんてのは
アフォな開発者が多分で便利であろうとでも思って用意したアフォ関数だろ
(DirectXでもありだけどなw)
必ず、@「matrix構造体にセットする関数を実行」してから
A「matrix管理構造体にセット」する流れになる
自分のプログラムみてみろ絶対にそうなってる
なってなかったら無駄プログラム
そのスタイルも別にいいっちゃいいけど
構造体の中に内包するものが増えるたびに同じ引数を延々と書かなきゃいけなくなるぜ
0225名前は開発中のものです。
2009/06/08(月) 02:00:41ID:wcKZ/hFx>・MATRIX管理構造体の何か?
>・MATRIX構造体
>の2つがあって
まず、この時点で意味不明なんだが。C言語or日本語が不自由なの?
なんでmatrixに管理構造体が必要なの?キャッシュ?メモリプール?何を管理するの?
0226名前は開発中のものです。
2009/06/08(月) 02:03:43ID:674pJASz0227名前は開発中のものです。
2009/06/08(月) 02:04:44ID:cRHoD8w8matrix_addってことはmatrix構造体をなにかに登録してるんだよね?
って意味でmatrix_addがmatrix構造体の管理下にないって意味で書いた
0228名前は開発中のものです。
2009/06/08(月) 02:05:18ID:wcKZ/hFx>A「matrix管理構造体にセット」する流れになる
>自分のプログラムみてみろ絶対にそうなってる
>なってなかったら無駄プログラム
意味分からん。ひぃ〜〜助けて。
0229名前は開発中のものです。
2009/06/08(月) 02:06:22ID:bPMhUw6r時間があったらソース書くとか言った人も来てないのか・・・
0230名前は開発中のものです。
2009/06/08(月) 02:07:19ID:wcKZ/hFxアフォすぎて話にもならない。
普通 matrix_add っつったら足し算だろ。
0231名前は開発中のものです。
2009/06/08(月) 02:23:19ID:bPMhUw6r処理順で積まれてるだけとかそんなんでしょ?
OSのような物を設計するわけじゃないんだし、お互いの主張を言い合っても無駄なような。
むしろ言い合うってことはすでに2ケースに対する表現方法が違うんだし
その2方式の雛形にでもなるようなのを出してしまえばそれで終わる気がするんだが。
0232名前は開発中のものです。
2009/06/08(月) 02:38:00ID:52Y54V93MATRIX管理構造体が何かをまず皆に理解させたりするより絶対手っ取り早いよ?
0233名前は開発中のものです。
2009/06/08(月) 05:42:45ID:ivE9pf3b0234名前は開発中のものです。
2009/06/08(月) 06:54:34ID:cRHoD8w8え?w
ノードでも追加するのかと思ったw
でもだったら
matrix_add(&mat,足すヤツ);
でよくね?
別に型も誤魔化してないじゃん
俺の言ってること違ったっけ?
0235名前は開発中のものです。
2009/06/08(月) 08:28:28ID:rJj1ChuH0236名前は開発中のものです。
2009/06/08(月) 08:54:31ID:RKbP76xNオブジェクト指向のカプセル化とか隠蔽化を理解できないから。
0237名前は開発中のものです。
2009/06/08(月) 08:55:36ID:nNQXSyqJお前騙されてて
オブファスケータ使った後のソースしか見せられてないんじゃね
0238名前は開発中のものです。
2009/06/08(月) 21:32:36ID:wcKZ/hFxそれはそうなんだが、>>213を主張する通称引数君が現れてだな・・・。
>>219は反面教師的な意味で書いたコードなんだ。
ところで今思ったんだけど、
・すべての情報は引数で渡す
・構造体で渡すのは禁止
ってことは、処理に必要な情報は、一時的にでもすべてスタックに乗せる必要があるよな。
スタックオーバーフローとか大丈夫なんだろうか。
画像とか音楽とか、どうやって関数に渡すつもりなんだろう。
0239名前は開発中のものです。
2009/06/08(月) 21:57:45ID:cRHoD8w8>・構造体で渡すのは禁止
マジで?w
型を誤魔化すなとは言ったが・・・
でもまあ、ある意味それもアリなんだよね
ちょっと複雑な言い分になるけど
0240名前は開発中のものです。
2009/06/08(月) 21:58:56ID:ivE9pf3bそいつプログラム1行も書けない。
0241213
2009/06/08(月) 22:01:21ID:iv6sA5z4いやいや、幾らなんでもそれは無い…、と信じたい。
『コンテキストとしてまとめたモノがダメ』というのは、『そのコンテキストの中に処理に関係ない情報が
混ざっているのがダメ』という意味らしいから、matrix_addみたいなのは構造体そのまま引渡しできる…、
と信じたい。そして全てが引数で渡される必要があるからといって、全てを代入渡ししなければいけない
ワケではない…、と信じたい。参照渡しを禁止したりはしないだろう…、と信じたい。
0242名前は開発中のものです。
2009/06/08(月) 22:23:28ID:dIDrAXVe社会人としてやっていけないから何も心配することはない。
放っておいても現実に被害を被る事なんてないさ。
そんな能力なんて無いよ。
0243名前は開発中のものです。
2009/06/08(月) 23:50:28ID:cRHoD8w8その通りだけど
なんか構造体渡し禁止になってるんだよね
余計なものを渡すのが駄目ってことなんだけどね
0244名前は開発中のものです。
2009/06/08(月) 23:51:54ID:cRHoD8w8そうやって人格否定から入って相手の発言を潰すくせどうにかならんの?
0245名前は開発中のものです。
2009/06/09(火) 00:22:09ID:Klhc/GyU引数君みたいなプログラムが1行も書けない基地外の議論が
有意義だと思ってる時点で ID:cRHoD8w8も頭おかしい。
プログラムが1行も書けない自称プログラマはすみやかにお引き取りください。
0246名前は開発中のものです。
2009/06/09(火) 00:33:30ID:cuID72xD0247名前は開発中のものです。
2009/06/09(火) 00:33:30ID:MBMwWKo7でも面倒臭い(かもしれないイメージが強い)以外に欠点ってないでしょ?
引数無しにするのは「面倒臭い」からでしかないでしょ?
これを諦めたプログラムってやっぱり制御不能になりやすいと思うんだよね
引数は大事だよ
無視してしまったらそもそも制御なんてしなくていいじゃん
ヘッダファイルもマスターヘッダ作って全部インクルードして
構造体も全部そこで定義してすべてをまとめたもん作って
インスタンスホルダーに対して読み書きって作り方ってもう駄目なのわかるじゃん
もうそろそろ汎用化できない処理と汎用化できる処理の判別がついてもいいころだと思うのよ
タスク信者もさ
いつまでもおっさんみたいにそこで足踏みしてるとスキルあがらないぜ
大事なのは書き比べて検証して自分なりの答えを出すことだと思うけどね
引数をなくしても結局手間は変わらないってすぐに理解できる
0248名前は開発中のものです。
2009/06/09(火) 00:55:18ID:Klhc/GyU> でも面倒臭い(かもしれないイメージが強い)以外に欠点ってないでしょ?
本当にあんた、プログラム、1行でも書けるのか?全然話にならないんだが。
> ヘッダファイルもマスターヘッダ作って全部インクルードして
あ!お前、このスレのpart3当たりに居た、総合ヘッダ君か。通りで言ってることがおかしいと思った。
このスレ、引数君と総合ヘッダ君が居なくなれば、まともなスレなんだろうけどな。
この二人の基地外のせいでレベルが大幅ダウンだよ。
0249名前は開発中のものです。
2009/06/09(火) 00:56:29ID:7ufIYPer0250名前は開発中のものです。
2009/06/09(火) 01:27:18ID:GsDiyf170251名前は開発中のものです。
2009/06/09(火) 05:02:55ID:X2fb91bq総合ヘッダ君じゃないんでは
0252名前は開発中のものです。
2009/06/09(火) 05:42:54ID:Klhc/GyUむむ・・そうかも知れん。だとしたらその件についてはID:MBMwWKo7に謝る。スマソ。
0253名前は開発中のものです。
2009/06/09(火) 06:42:20ID:MBMwWKo7お前、読解力0だろw
0254名前は開発中のものです。
2009/06/09(火) 06:44:33ID:SajZ+q78だったような気がする。公開用のヘッダファイルとプライベートヘッダに分ける方法を知らない。
その意味で行けば、>247も充分総合ヘッダ君と同等だと思うけどね。
0255名前は開発中のものです。
2009/06/09(火) 07:07:38ID:MBMwWKo7はぁ?
0256名前は開発中のものです。
2009/06/09(火) 07:08:40ID:s3lVRyLD0257名前は開発中のものです。
2009/06/09(火) 07:26:35ID:7ptmeyyR0258名前は開発中のものです。
2009/06/09(火) 12:43:14ID:4xDwQnN30259名前は開発中のものです。
2009/06/09(火) 19:38:02ID:CxjpUjFghoge_update( &hoge.x, &hoge.y );
はキモイ
0260名前は開発中のものです。
2009/06/09(火) 19:46:12ID:CxjpUjFgswitch( hoge.state )
{
case: hoge_update_01( &hoge.x, &hoge.y ); break;
case: hoge_update_02( &hoge.state, &hoge.x, &hoge.y ); break;
case: hoge_update_03(); break;
default: break;
}
■ このスレッドは過去ログ倉庫に格納されています