トップページ⇒tech
1001コメント299KB

オブジェクト指向に弊害はない。メリットのみ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/04/25(水) 22:39:53.05
反論したいなら
↓のスレでどうぞ。

オブジェクト指向は無駄なもの。俺が理解出来ないからね
http://kohada.2ch.net/test/read.cgi/prog/1332351520/

ここはちゃんと分かっている人のみのスレです。


前スレ
オブジェクト指向の弊害
http://toro.2ch.net/test/read.cgi/tech/1327414519/
0153uy2012/05/04(金) 23:20:25.49
>>148,149
お前もわかってないの・・・?


えっとね、時限式で何かアクションするオブジェクトは、
オブジェクト生成時に、〜n秒で爆発するよみたいなパラメータを渡さなければならないとか、思われがちだが
そうではない

オブジェクトごとに、オブジェクトの動作を記述する為に「自由に使ってよい状態メンバ変数」
ってのを用意するから
そこで悩むことないんだよ

0154デフォルトの名無しさん2012/05/04(金) 23:21:42.78
>>153
煽りはいいからやってみてくれ
そのあと困ることになるから
0155uy2012/05/04(金) 23:21:53.40
>>152
それも>>153の
「自由に使ってよい状態メンバ変数」

C++だったらSTLのmapか何かを全オブジェクトに持たせたらいいよ
0156デフォルトの名無しさん2012/05/04(金) 23:25:03.66
>>155
状態変数はいいから
処理はどーすんの?ってのが大事。
どこにかくの?
0157uy2012/05/04(金) 23:27:37.27
http://ideone.com/LyfeC

はい
0158uy2012/05/04(金) 23:29:58.12
>>156
状態変数いらんの?

処理を書く場所は、
オブジェクトの動きのパターンを集めたクラスを作るんだよ
Rubyだったらちょっとしたものなら直にかけるから直にかいてるが

C++ならそういうクラスを作り、そこのメソッドのポインタをもってきて
function変数に格納すべし
0159デフォルトの名無しさん2012/05/04(金) 23:31:06.75
>>157
時限式ホーミングは?
0160uy2012/05/04(金) 23:32:29.31
>>159

>>157
これで理解しないならwwwスレ閉じろw
0161デフォルトの名無しさん2012/05/04(金) 23:33:15.05
>>158
へー。そのクラスには、ミサイル、ホーミングミサイルの動きが共に書かれてるんだ?
0162uy2012/05/04(金) 23:35:10.51
これはだるい
誰かにパスしたい
0163デフォルトの名無しさん2012/05/04(金) 23:36:28.69
>>160
仕様>>148を満たせてないんだから
0164デフォルトの名無しさん2012/05/04(金) 23:37:05.29
>>162
もうわかったか?おまえの構造の致命的な問題点が
0165uy2012/05/04(金) 23:44:20.19
俺は46しか相手する気ないぞ
ostructをメンバに入れた事がどういうことかわかってないなら
まずruby OpenStructでググレカス
それを入れた時点で通ってんだよ。全てが。
ostructがはいった事、そして全オブジェクトにアクセス可能な事、この2点でクリアしてんだよあほか。

大体のヒントは与えた
これ以上の面倒は見ない
あとは名無しにでもたよれよ
0166デフォルトの名無しさん2012/05/04(金) 23:46:21.21
uyもまた昨日みたいになったら困るから
そろそろ退散か
0167uy2012/05/04(金) 23:54:33.72
初心者過ぎてやる気がしない
0168デフォルトの名無しさん2012/05/04(金) 23:55:54.38
てか、もうよくね?
多態で縛ってしまうと汎用性がかなり低下してしまうってのはわかっただろう
書いてみた結果として同じだったらリファクタリング時に多態で表現するって方法でいいんじゃないか?

ゲーム作ってる途中にこんな仕組みいれないほうがいいよ
コピペしたほうが速い
0169デフォルトの名無しさん2012/05/05(土) 00:00:29.20
uyって調子づいて荒ぶる割に
都合悪くなると言葉濁すよね
0170デフォルトの名無しさん2012/05/05(土) 00:01:05.98
コピペした方が速い(キリッ
0171デフォルトの名無しさん2012/05/05(土) 00:02:40.45
>>168
ミサイルが1000種類あってもコピペ?
コピペ元にバグ発覚したら?
0172uy 2012/05/05(土) 00:06:55.24
もうよくね?
無理だよこいつら
0173デフォルトの名無しさん2012/05/05(土) 00:11:25.68
いまのところuyがこのスレ最低得点保持者です
0174デフォルトの名無しさん2012/05/05(土) 00:12:23.14
ライフに続いてまた想定もれか
0175uy2012/05/05(土) 00:15:40.77
普段ゲームを作らない奴にゲームプログラムの話は無理だったな

アプリ開発はやったことあるから、ゲームだって同じように作れるんだ!
みたいに勘違いして、熟練者の意見を聞かない

そんで、実際にその洗練されたソースコードを知らないから、
「こういうときどうするの?」っていちいち聞いてこなくちゃ次に進まないw

まるでサルに日本語教えてる気分になってバカらしゅうなった

いいじゃないか、大体さープログラミングやってて自力でゲーム開発して
ちゃんとした設計できるようになってないで2chで聞いてるようじゃセンスがないんだよ

ゲームエンジンや、ゲームライブラリ、ゲームの根幹設計、そういうのを作るのが、面白いと思う奴もいる
そういう奴はちゃんとした設計を知ってる
それらを面白いとは思わず、
ちょっとした気まぐれで「ゲームでも作ってみるかwデュフフw」とかいいながらソースコード書いてる奴なんて
何を教えたってみにつかねーわ・・・

勝手に、OOでゲーム作ればいいし、
もう勝手にアプリケーションと同じ気分で作っていたらいいんじゃね
専門分野が違うところにきてるお客さんなんだよ、
今日1日しか、あるいはほんのわずかな期間しかゲームプログラムを行わない者に対して、何か教えようとか無理だった
0176デフォルトの名無しさん2012/05/05(土) 00:15:51.46
ゲームで言うと、世界樹の迷宮と女神転生SJの関係は、上手い事オブジェクト指向を活かしてるなあと思った
0177デフォルトの名無しさん2012/05/05(土) 00:19:46.41
>>175
ライフ君が吠えたw
0178デフォルトの名無しさん2012/05/05(土) 00:20:29.30
>>175
自分より実力ない奴から教わるバカはいない
0179デフォルトの名無しさん2012/05/05(土) 00:22:19.61
uyって既に底が割れてるからネタとしてみるには面白いな
0180uy2012/05/05(土) 00:24:47.32
それにコピペ の意味もわかってねーし
コードの部分の話じゃねえよ
クラスの宣言部分の話だろうが
それにコピペでどっかバグってたんなら、5秒でスクリプトかいてバッチ処理ソースコードにやればいいんだよカスが
そのくらいはゲームPGだったらできんの。

ミサイル1000個ってなんだよ?
バカ?
オブジェクトの数じゃねーんだよ
ミサイルの種類が1000個もあるゲームてどんなミサイルゲーだ
ドッターの身にもなれ

----ここまで音にたいしての話題なし----

ハッァアアアアアアアアアアアアアアア???
ゲームで大事なのは 音 → 背景 の順番だろバカなのwwww
そもそもこんな板にいる社畜はまともにゲーム作る気もないし、
効率良くゲームを作る気もない、ただ、「僕の考えた設計w」を見せびらかしたいだけ・・・

んで、同じようにレベルの低い奴が、ああああああああああ考え戻った>>49 これだよ。 俺は今ここの気持ちに戻った。終わり。
0181デフォルトの名無しさん2012/05/05(土) 00:26:37.48
低レベルな子が
低レベルなソースを見せあいっ子して
低レベルな褒め合いをし続ける
0182デフォルトの名無しさん2012/05/05(土) 00:31:56.50
>>180
クラスの宣言部分をコピペするバカは今時いない
アナクロにも程があるぞw
0183デフォルトの名無しさん2012/05/05(土) 00:33:06.35
>>180
スレタイ読めば?ここゲームスレじゃないから
おまえはどうせ就職できないんだから
もう少し謙虚になった方がいいぞ
0184uy2012/05/05(土) 00:33:44.86
だから、

それ やる より は こう した ほう が

 ま だ マ シ だ

って いう ある 種の ネタ 反論


そんな、だるい方法で0点設計するくらいの思考しか出来ないなら、
バカでも出来る10点の設計があるよって言ってるだけだよw


誰もそれがいいとかいってねえ・・・

な、無理だろ
0185uy2012/05/05(土) 00:34:13.38
無理 不可能
0186デフォルトの名無しさん2012/05/05(土) 00:35:15.34
はい無理
0187デフォルトの名無しさん2012/05/05(土) 00:37:01.48
>>184
すまんかった。
やっとわかった。
バカのエースuyでもコード書けるよ!って主張だったのか。
0188uy2012/05/05(土) 00:40:32.71
46でもかけるよって事だよ
46みたいなコードかくならコピペのがマシだよって事だよ

つーか本当のこというと、継承してたってゲーム作れるよ 俺なら作れるよ
でも初心者には、そんなゲームプログラムの仕様変更の何手先も読みながら、
作れないだろって思ってるから
やめとけって言ってるだけ
終わり
0189デフォルトの名無しさん2012/05/05(土) 00:44:19.86
----------- ここからOOの話に戻ります -------------
0190デフォルトの名無しさん2012/05/05(土) 00:44:46.80
uyは出来てないだろw
ライフすら想定外だったんだからww
0191デフォルトの名無しさん2012/05/05(土) 00:45:41.35
トリップつけろバカ
0192デフォルトの名無しさん2012/05/05(土) 01:06:11.04
>>171
え?1000種類もないよ。
0193デフォルトの名無しさん2012/05/05(土) 01:17:14.53
ここの人は鱈と肝臓が大好きなんですよ
0194462012/05/05(土) 01:36:04.20
クラスの仕組みすら分からない奴が偉そうにw
0195デフォルトの名無しさん2012/05/05(土) 01:53:54.31
D言語だと1000種類できるらしい
0196uy2012/05/05(土) 02:15:08.93
は、そうだな

また俺の負けでいいよ
俺はもうC++を触る事ってないだろう
今はどうやってrubyで速度だすかしか考えてない

本家rubyでまともな並列化できりゃ楽なのに、どうしたものかね
rubyマルチプロセスプログラミングでゲーム作るしかないのか
0197462012/05/05(土) 02:17:04.97
>>195
1000種類作りたいだけなら>>100のコードでも、>>157のコードでもできるけど。
まあ、実際に1000種類考えるのはやりたくないがwww

俺が>>157のコードに強いて言うなら、クラス機能の内部でやっている事を自分のコードで表現してるって事くらいか。
0198uy2012/05/05(土) 02:31:24.68
俺はクラス使わないからね
多分どんなゲーム作るとしても、最初から最後までclass O以外に宣言しないよ

ゲームじゃなくてアプリ作るんだったらクラスは使う
0199デフォルトの名無しさん2012/05/05(土) 02:33:45.03
結局使うのか
0200デフォルトの名無しさん2012/05/05(土) 02:34:35.03
> また俺の負けでいいよ
そりゃそうだろw
0201デフォルトの名無しさん2012/05/05(土) 02:36:18.66
>>196
> 本家rubyでまともな並列化できりゃ楽なのに、どうしたものかね
> rubyマルチプロセスプログラミングでゲーム作るしかないのか

めちゃくちゃ重くなりそうだなw

ま、経験ないとわからないか。
Rubyがゲーム開発としては重いってことがさ。
0202デフォルトの名無しさん2012/05/05(土) 02:37:37.56
>>199
アプリ側でもクラスを使わない設計案はある
でも俺はまだ上手くかけないので妥協してる
でも、そのうちクラスは完全に捨てたいと思っているよ

>>201
え?え?誰に言っちゃうのそれ
0203uy2012/05/05(土) 02:39:13.19
つうか独り言、
今、C++のソースが見たくてたまらなくてググってた
プログラミングって
int main(){
とかってエントリーポイントあったほうがしっかりした言語に見えて
心の中の何かが盛り上がる気がする
そんなint mainなんてないほうが効率いいのに、どうしたものか?
0204uy2012/05/05(土) 02:46:16.58
RubyからDXライブラリを何とかして使ったらいいんじゃないかと思ってる
dxrubyは確かに小さくまとまってて使いやすいでも、
それじゃ遅いんだ
できるかね
0205uy2012/05/05(土) 02:47:00.60
遅い じゃない 機能が 無い だ
0206デフォルトの名無しさん2012/05/05(土) 02:47:34.90
http://d.hatena.ne.jp/kwatch/20100430/1272585083

これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml
といった静的な言語は軒並み上位に登場する。これに対し、Ruby や
Python や PHP といったスクリプトは全部下のほう (つまり遅い)。

その速度差は非常に大きく、このベンチマークで見ると Python3 や
Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、
PHP にいたっては約130倍遅いことになる。
0207デフォルトの名無しさん2012/05/05(土) 02:52:31.35
そんなたいそうなもの作るわけじゃないし
速度はどうしても問題が起きてしまうときに考えればいいべ
0208デフォルトの名無しさん2012/05/05(土) 02:53:19.38
問題が起きてから言語を変えるのか?
0209デフォルトの名無しさん2012/05/05(土) 02:54:57.92
結局のところ、
ゲームの話で経験有るの?とか言っておきながら
Rubyでゲームとか、経験無いでしょwって
笑うしかない。
0210デフォルトの名無しさん2012/05/05(土) 02:56:39.88
>>208
ゲームなんてごまかしばかりじゃん
0211デフォルトの名無しさん2012/05/05(土) 02:57:01.57
>>210
そりゃお前の人生だろw
0212uy2012/05/05(土) 03:11:06.55
>>207
たいそうなものではないが、弾幕ゲーまた作りたくなってきてるんだよ
速度が必要

ps:
RubyからDXライブラリ普通に動くwww
0213デフォルトの名無しさん2012/05/05(土) 03:12:04.25
3Dじゃないのなら速度はいらんなw
0214デフォルトの名無しさん2012/05/05(土) 03:25:35.74
いらないな
0215デフォルトの名無しさん2012/05/05(土) 03:29:34.39
>>209
Rubyでゲームライブラリはかなりあるぞ
0216デフォルトの名無しさん2012/05/05(土) 03:31:16.76
弾幕ゲーってポリゴン数、多くても千程度だろ?
0217デフォルトの名無しさん2012/05/05(土) 03:32:41.53
当たり判定の処理もあるから
マルチスレッドにしないと一般PCじゃ1000でもきついんじゃなかろうか
0218デフォルトの名無しさん2012/05/05(土) 03:34:45.30
>>215
1.Rubyにはゲームライブラリがない
2.そんな世界なら俺でも有名になれるはず
3.みんなこぞってライブラリを作り始める ← 今ここ
4.優秀で企業サポートがあるものが生き残る ← やっと実用レベル
0219デフォルトの名無しさん2012/05/05(土) 03:35:10.43
>>217
Rubyだとその程度の感覚なのかw
0220デフォルトの名無しさん2012/05/05(土) 03:35:44.07
ぼくのぱそこんせれろんでーだからよゆう
0221デフォルトの名無しさん2012/05/05(土) 03:38:18.93
ぼくのはせれろんえむだからまるちすれっどにしてください
0222デフォルトの名無しさん2012/05/05(土) 03:40:58.07
どこかの馬鹿がオブジェクトごとに当たり判定処理をするとか
言っていたが、そんなことをすると、効率が悪くなる。
(省くことが出来るはずの当たり判定処理をしないといけない)

当たり判定を行う専用スレッドを作るという発想なら
問題ないが、オブジェクト自身でやるとかアホの極みw
0223デフォルトの名無しさん2012/05/05(土) 03:42:03.84
> どこかの馬鹿がオブジェクトごとに当たり判定処理をするとか

っていうのは、1オブジェクト=1スレッドで、
スレッド自身が当たり判定処理をするという意味ね。
0224デフォルトの名無しさん2012/05/05(土) 03:46:03.57
釣りレスが多くてこまる
0225uy2012/05/05(土) 04:10:17.76
>>222-223
一瞬納得しかけたけど
アホなのか釣りなのかどっちだよw

別にかわらんよ
0226デフォルトの名無しさん2012/05/05(土) 04:10:23.21
firefoxとか巨大プロジェクトの、それもいろんな規格を無理矢理統合してるようなもんから
ソースコードひっぱってくるとか無茶すぎるだろww

Linuxからソース引っ張ってくるのと同じで手間ばっかりだわ。


せっかくライブラリがいっぱいあるんだからそっちから使えるもの探せよw
0227uy2012/05/05(土) 04:13:32.55
>>226
ここ数日のム板には俺よりヤバイのがいる
いずれコテハンに化けると思う
0228デフォルトの名無しさん2012/05/05(土) 04:28:57.15
>>227
コテハンになるのは、ヤバイやつだけだw
0229デフォルトの名無しさん2012/05/05(土) 07:02:58.80
あいあい
0230デフォルトの名無しさん2012/05/05(土) 07:12:49.99
発言に意味がないからハンドル名に違いを入れないといけなくなる
0231デフォルトの名無しさん2012/05/05(土) 08:24:59.66
あいあい
0232デフォルトの名無しさん2012/05/05(土) 08:56:46.65
rubyが色々出来すぎてやばい

俺が今までC++でやってきた事は
全てRubyで出来るようになってしまった・・・
マジどうしよう これやばい

どうしたらいいんだ・・・なんだこれ なんぞ。
何・・・
0233デフォルトの名無しさん2012/05/05(土) 09:02:16.05
Rubyは、おそいのだ。しろうとは、速度とか描画とかに注意が行くよ。ソースよまないよ
0234デフォルトの名無しさん2012/05/05(土) 09:06:45.15
Rubyは器用貧乏だな。
0235デフォルトの名無しさん2012/05/05(土) 09:31:00.23
組み込み全盛のこの時代に、「出来る」だけで言語選んでたら生き残れねーよ・・・
次の戦場は家電だろうに、rubyの出番はこの先もずっと無いよ
0236uy2012/05/05(土) 09:43:47.76
そもそもスクリプト言語って組み込みで使う用途ではないだろう
何をいっているんだ?
どんな言語でプログラミングするにしろ、
スクリプト言語のひとつも併用して使わない開発でどんな効率が出せるというんだ

mrubyとか一応でたみたいだけど、どうなるのあれ
0237デフォルトの名無しさん2012/05/05(土) 11:05:06.55
Rubyって糞遅いからおもちゃだろ
バカの一つ覚えみたいなステマ飽きたから
OOの話しようぜ
0238デフォルトの名無しさん2012/05/05(土) 11:23:15.35
ステマのほうが馬鹿のひとつ覚えに見える
0239デフォルトの名無しさん2012/05/05(土) 11:24:21.05
馬鹿の一つ覚えの方が馬鹿の一つ覚えにみえる
0240デフォルトの名無しさん2012/05/05(土) 11:24:54.95
OOの方がバカの一つ覚えにみえる
0241デフォルトの名無しさん2012/05/05(土) 11:26:04.43
トンカチを持つ者には全てが釘にみえる

糞遅いRubyでゲームwww
0242デフォルトの名無しさん2012/05/05(土) 11:27:02.09
OOの話しよーと思ったけどスレタイで結論でてた
〜終了〜
0243デフォルトの名無しさん2012/05/05(土) 13:23:10.50
uyのアレって意味分からないよね。
座標系の親子関係と生存管理の親子関係で、
親が一致するとは限らないのにね。
擬似マルチスレッドで継続するのも意味分からない。
結局はプログラムカウンタで状態を保存するってアイデアなわけだけど、
プログラムカウンタは一個しかないんだから、
複数の状態が絡んだ時点で破綻するわけで。
0244デフォルトの名無しさん2012/05/05(土) 15:17:45.91
変数のスコープがメンドクサイって奴の相手してもしょうがねぇだろ。
0245uy2012/05/05(土) 16:50:45.74
>>243
意味わかったら凄いから、誇っていいよ

親が一致するとは限らないのは確かにそう、でも別に1つのオブジェクトの中から
ゲーム中の全オブジェクトに辿れるからどうとでも都合は効く
けどそこは直すかもしれない、素で自分で木構造で管理するのはやはり、木構造操作系のメソッドが10,20と増えていってバカらしい
基本的に平坦な配列で管理をして、木構造が必要になったときに平坦な配列を木構造のように扱えればそれで良い気がしてきた

マルチスレッドかタスクかは作り方の問題、殆どのゲームはタスクだぞ
まぁ最近はゲームもオブジェクトごとにマルチスレッドの流れかもしれないけどな
俺としては、それやっちゃうと同期処理が無駄になると思うから、
プレイヤーオブジェクトやMAP等の主要オブジェクトのみをスレッド化する構想を考えてる
でも今の本家rubyだとマルチスレッドにしても速度上がらない

プログラムカウンタは一個しかない? OpenStructの仕様を調べろ
0246uy2012/05/05(土) 16:53:08.59
>>241
あ、ごめんそれ
俺は昨日の段階でクリアしちゃった・・・

ベンチマーク測るのこれからだけど
多分行っちゃったな・・・
0247デフォルトの名無しさん2012/05/05(土) 17:19:08.87
あいあい
0248デフォルトの名無しさん2012/05/05(土) 17:21:16.74
>>245
みんなそんな事わかってるよ。
0249デフォルトの名無しさん2012/05/05(土) 17:23:17.47
面倒になっただけじゃん
普通に組めばそんなことしなくていいのに
0250uy2012/05/05(土) 17:26:25.35
俺は自分が一番やりやすい方法で組んでいるだけ
お前らは使わなくていいよ
0251デフォルトの名無しさん2012/05/05(土) 17:29:20.26
俺は自分以外も含めて、一番やりやすい方法で組む。
先人の知恵ってやつだw
0252uy2012/05/05(土) 17:31:56.61
自分で新しいもの見つける事をしないならそれでよい
■ このスレッドは過去ログ倉庫に格納されています