オブジェクト指向は戦場では必要なしパート10
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGOO厨の9割は実は手続き派なのです。
隠れアンチなのです。
手続き型Othello
http://megami.s1.x-beat.com/upload/upload.cgi
[megami0143.lzh] Othello2(訂正)Javaファイル 60 2002年10/05(土)00:38
OO版1
http://www.geocities.co.jp/Technopolis/3354/othello-0.0.0-bin.zip
http://www.geocities.co.jp/Technopolis/3354/othello-0.0.0-src.zip
OO版2
http://megami.s1.x-beat.com/upload/upload.cgi
[megami0146.jar] OO Othelloのソース 8 2002年10/06(日)05:43
パート1 http://pc.2ch.net/test/read.cgi/tech/1011997945/
パート2 http://pc.2ch.net/test/read.cgi/tech/1013266554/
パート3 http://pc.2ch.net/test/read.cgi/tech/1013875413/
パート4 http://pc3.2ch.net/test/read.cgi/tech/1021468476/
パート5 http://pc3.2ch.net/test/read.cgi/tech/1027983898/
パート6 http://pc3.2ch.net/test/read.cgi/tech/1029297075/
パート7 http://pc3.2ch.net/test/read.cgi/tech/1030029357/
パート8 http://pc3.2ch.net/test/read.cgi/tech/1031028125/
パート9 http://pc3.2ch.net/test/read.cgi/tech/1032985885/
0809ケロケロ
NGNG拡張しやすく、また他人に引継ぎ易いカタチにするために、
コーディング前後に再設計が必要だ
と言いたいと思われ。
0810デフォルトの名無しさん
NGNG説明うまいね。
>>808
そうだったスマン。
そういう意味では、OOが必要なプログラムの例ってのは
一般のプログラマーにはわからない気がしてきた。
簡略化するとテラリウムとかロボコードのような。
あれは作り込みだけでも、充分なものができるけどね。
>>807
人工知能(将棋のAIみたいな)を
開発するためのプログラムは全部OOで書いてますよ。
何年も手を入れますから。
さすがに将棋に関する部分(カーネルと一般的に呼ぶのですが)
は書き直す事はありませんが、
AIに関する部分は6ヶ月に一回は
0から書き直した新しいバージョンを作らないと
やってらんないですね。
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNGうpしないんですか?
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGすげーつまんないんだよね。
パパッと作って、ソースコードで全てを語るのなら
おもしろいわけだが。
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817デフォルトの名無しさん
NGNG>開発するためのプログラムは全部OOで書いてますよ。
それは人口知能とは呼びません
チューリングテストに合格するようなやつです
コブジェクト指向でもむりですね
0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNGそうだねー。人口知能じゃないねー。人工知能だねー。
0820デフォルトの名無しさん
NGNG0821プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGまだ出来てない。
0822デフォルトの名無しさん
NGNG秋 冬
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNGTomcatでも読めばいいんでない?
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNGttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0827デフォルトの名無しさん
NGNGAIの部分以外は3時間くらいでつくったので
機能的にはレベル低いのですが
http://www.yo.rim.or.jp/~nakagawa/Othello/Othello.html
掲示板荒らした人はマジで追跡します。
ソースコードでここはこうした方がいいとかあれば
こっそりメールで教えてくださいw
0828デフォルトの名無しさん
NGNGhttp://www.ingrid.org/jajakarta/tomcat/
Tomcat
読むだけならそれ程大変じゃなかった。
0829デフォルトの名無しさん
NGNGけっこうよくできてるじゃん。
CPU強いし。
0830プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG更新履歴
1997.1.31
オセロ ができました。ちょっと遊んでいきませんか?
とあるが?
0831デフォルトの名無しさん
NGNGけっこうよくできてるじゃん。
CPU恐いし。
0832デフォルトの名無しさん
NGNGすごい反応速度だなw
0833デフォルトの名無しさん
NGNGチェスにしようよチェス。
明らかに絶対数少ないでしょ。
ルールわかんなかったら
大貧民みたいなトランプゲームでも良いと思う。
0834デフォルトの名無しさん
NGNG実装数としてはマイナーだけど、一般的に良く認知されてる
ゲームを選ぶって事ね。
0835デフォルトの名無しさん
NGNGいかにOO厨といえど、大貧民でOOは・・・
0836デフォルトの名無しさん
NGNG・カード
・プレイヤー
・持札/捨て札/場札
・強弱関係
・カードの出し方のパターン
・コンピュータプレイヤーのロジック
・カードの出し合いの各1フェーズ
・順位(および交換のルール)
あたりが、上から見た場合のクラスの候補かな。
インスタンスで区別する同一のクラスの方がいいのもあるかも
しれんけど。まあ、推敲しながら作れば、なんとかなるさ。
0837デフォルトの名無しさん
NGNG大貧民(大富豪)いいね。
ルールとか知らない人いる?
最初から、ソースがあんまりオンライン上に流れてないものを
選択すべきだとは思ってたが。
0838デフォルトの名無しさん
NGNGおもしろそうだ。
つーか、オセロより大貧民の方が
OOっぽさがでそうだね。
アイディア出した奴グッジョブ
0839デフォルトの名無しさん
NGNG大変ですね。
0840デフォルトの名無しさん
NGNGさすがにGUIは使うだろうけど。
コレクションくらいは自分で書くべきだと思う。
そこからOOと非OOの違いが出てくるわけだから。
0841デフォルトの名無しさん
NGNG大変というより
必 死 だ な (藁
0842デフォルトの名無しさん
NGNGC言語厨とかでも参加できるな。
スート
S スペード
H ハート
C クローバー
D ダイヤ
* ジョーカー
A 2 3 4 5 6 7 8 9 0 J Q K
画面もこんな感じでいい
----------------------
<<<dai fugoo>>> by 2ch@tech
----------------------
pool : 3D 3S (two pair)
player:7H 1D 2C 6S QD AH 2C
comp1///
comp2/////
comp3:////
:
compn:////
----------------------
cmd : P)ass E)nd ...
0844デフォルトの名無しさん
NGNGソケットでNET対戦きぼんぬ
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGつーか騙りなんだけど(w
0847デフォルトの名無しさん
NGNG0848デフォルトの名無しさん
NGNG次は大貧民でいいんじゃない?
0849プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGひらがなで書いてあげないと・・・・
0850プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG0851デフォルトの名無しさん
NGNGそんな地方ルールはオプションにしておくに決まってんじゃん。
:
0852デフォルトの名無しさん
NGNGHEAD /~nakagawa/Othello/ComputerPlayer1.java HTTP/1.0
Host: www.yo.rim.or.jp
Connection: close
HTTP/1.1 200 OK
Date: Mon, 18 Nov 2002 16:13:26 GMT
Server: Apache/1.3.9 (Unix)
Last-Modified: Sun, 27 Jul 1997 01:54:12 GMT
ETag: "55d370-2447-33daaa44"
Accept-Ranges: bytes
Content-Length: 9287
Connection: close
Content-Type: text/plain
0853デフォルトの名無しさん
NGNG鬱だもう寝よう…
0854852
NGNG0855デフォルトの名無しさん
NGNGどうしても本人ということにしたいんだね。
本人だとしてもかなりイタイんですが。
つーかさ、ソースコードの日付見ろよ。
全部これ→1997/07/27 10:54
0856デフォルトの名無しさん
NGNGおまい THE WORLD 使いだな!
0857デフォルトの名無しさん
NGNG本人かどうかは別として
やっぱりOOの方が見やすいね
0858デフォルトの名無しさん
NGNG>>854
すげ、一人で時間逆転
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG> チェスにしようよチェス。
> 明らかに絶対数少ないでしょ。
> ↑補足すると
> 実装数としてはマイナーだけど、一般的に良く認知されてる
> ゲームを選ぶって事ね。
マヂですか?
ほんとにほんきでチェスプログラムの実装数が少ないと思う?
ただ単に「日本で売ってるパッケージ」が少ないだけだろ。
0861デフォルトの名無しさん
NGNG> チューリングテストに合格するようなやつです
チューリングテストを通ったAIプログラムの例を出してみろよゴルァ
出せないんなら回線で首吊って氏ね
0862デフォルトの名無しさん
NGNGどこだったかなぁ
0863デフォルトの名無しさん
NGNG>>836
のくそ設計には誰も突っ込まないのか?
所詮厨のたまりばか・・・・・
0864プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG作ってるのはコレ
http://qtchicks.hp.infoseek.co.jp/missile.html
http://www2.mahoroba.ne.jp/~pit/mis.htm
0865デフォルトの名無しさん
NGNGレベルの高い奴は誰もこのスレを見てない。
0866デフォルトの名無しさん
NGNGどこがクソなのか書かないと、
おまえの存在意義はないんだが
0867初心者
NGNG俺にもおしえて
0868デフォルトの名無しさん
NGNG>>867
たかがカードごときで1クラス作るのか?と
強弱関係もクラスにするようなことか?と
というかね、抜き出し方がなってないんだよな・・・・
まずは大貧民を説明するときに出てくる名詞
だけ抜き出して羅列しる!!
0869デフォルトの名無しさん
NGNGOO厨の方が形勢が有利になった
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGそれ以外にはOOが要る。
0872デフォルトの名無しさん
NGNG> たかがカードごときで1クラス作るのか?と
はあ?カードをクラスにせずにカードゲームを作れと…
> 強弱関係もクラスにするようなことか?と
ローカルルールなどに対応するには、強弱関係も独立したクラスにしたほうがいいな。
0873868
NGNGすまん。ちと考えを改めた。
ゲームによって、カードの強弱が変わる。
だから、カードはクラスのほうがいいかも知らん。
例としては、こんなクラスだね。
public class Card {
public static final int HEAT = 1;
public static final int DIAMOND = 2;
public static final int CLUB = 3;
public static final int SPADE = 4;
public static final int JOKER = 5;
private int type; // カードの種類(H,D,C,S,J);
private int number; // 数字
private int strength; // 強さ
public Card(int type, int number) {
this.type = type;
this.number = number;
}
public Card(int type) {
this.type = type;
}
0874868
NGNGpublic int getType() {
return this.type;
}
public int getNumber() [
return this.number;
}
public void setStrength(int strength) {
this.strength = strength;
}
public int getStrength() {
return this.strength;
}
}
んで、カードの強さというのはゲームによって、変わるから、
カードはルールから生成され、そのときにルールによって
強さを与えられると・・・・・
カードをクラスにしないと、この辺の強弱関係がうまく表せんね。
すまんす。
0875デフォルトの名無しさん
NGNGつーか、例えば「3」の3枚組で「2」に勝てるというルールは一般的だが、
ローカルルールでそれをナシにしてる所もある。
そういうローカルルールに対応するには、強弱を決定するオブジェクトを
カードから独立させたほうがいいってこと。
例えばローカルルールを定義するルールベースを
IF XXX THEN ...
IF YYY THEN ...
:
IF ZZZ THEN ...
ってな具合で条件の羅列で表現すると、個々のIF XXX THEN ...をオブジェクトにすれば
独自なローカルルールの定義や、あるルールの適用の可否が簡単に定義できるでしょ?
「3」の3枚組の場合には、
public class DaihinminRule {
public bool winsOver(Card card1, Card card2);
}
class Triple3Over2 extends DaihinminRule
{
public bool winsOver(Card card1, Card card2) {
:
}
}
って具合でね。
で、DaihinminRuleSetがこういうDaihinminRuleのArrayを持ってればいい。
0876デフォルトの名無しさん
NGNGすまん、
> public bool winsOver(Card card1, Card card2);
じゃなくて、
public bool winsOver(Card card1[], Card card2[]);
か
public bool winsOver(Ply ply1, Ply ply2);
に訂正ね。
0877初心者
NGNG0878836
NGNGユースケースレベルよりちょっと実装寄りのイメージにニナッテマシタ。
(というか、頭の中でJavaのクラス構成がナントナクデキテタノヨ)
名詞じゃなくてゴメンナサイ。中途半端でゴメンナサイ。
0879デフォルトの名無しさん
NGNGいや、あんなもんじゃない?
けっこういい叩き台だと思うけど。
0880868
NGNGそれだけじゃあんまりだから、少し自分の考えを述べてみる。
一度、オセロゲーム作ったことあるけど、ゲーム系をオブジェクト設計
すると、大別して以下の5つのクラスが必要と思われる。
・ルール
・プレイヤー
・場を管理するもの
・ゲーム進行(コントローラーになるかな?)
・イベント処理関連(リスナーと各種イベント)
5つめのはそれほど特殊なこと(ルール的にイベントと呼ばれるような
例外的な処理)がおきない限り必要ないだろう。
上の4つはあくまで大別しただけだから、1クラスですべて表現できるとは
限らない。(より大きなゲームともなれば、パッケージ相当にもなるだろう)
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG君の脳内ではね…
永久に無理だよ…
0883デフォルトの名無しさん
NGNG大貧民書いて
0884デフォルトの名無しさん
NGNGこの非常用備蓄食は保存性に優れたアルファ米を使っており、自衛隊も戦闘糧食として使用していることから軍事用に転用される恐れもある。
石原都知事はこの件に関して政府と国会に徹底的な調査を要求すると述べた。
「ニュース速報+」【国際】東京都の非常食が北朝鮮に、石原知事激怒2
http://news2.2ch.net/test/read.cgi/newsplus/1038560374/
ソース:石原都知事・11/29日記者会見─2:00あたりから
http://www.metro.tokyo.jp/GOVERNOR/KAIKEN/kako.htm
MXTVで22:30から再放送
社団法人日本外交協会
〒106-0041東京都港区麻布台3-1-2飯倉セントラルビル4F
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG0888プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGhttp://megami.s1.x-beat.com/upload/upload.cgi
D [megami0295.jar] ミサイルコマンド 67 2002年12/09(月)06:51
0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG実行したら背後でイヤンな動作をするなんてことないでしょうね(((;゚∀゚)))
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNGException in thread "main" java.lang.NoSuchMethodError: java.awt.Frame: method setUndecorated(Z)V not found
at AppBase.initSystem(AppBase.java:1392)
at MissileCommand.start(MissileCommand.java:40)
at MissileCommand.main(MissileCommand.java:24)
C:\hoge>java -version
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Classic VM (build 1.3.0, J2RE 1.3.0 IBM build cn130-20020124 (JIT enabled: jitc))
0893プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGとはいえ、何故かJAR内のgifファイルが読めない。
0894デフォルトの名無しさん
NGNG0895プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGD [megami0299.jar] ミサイルコマンド(ソースも中に) 94 2002年12/10(火)02:11
0896プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGナイナイ
0897プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG0898デフォルトの名無しさん
NGNG309 号室の重度露出症患者が逃げ出してこのスレで暴れているようです!!
0899デフォルトの名無しさん
NGNGシステム構築課題は少なくなってきた。もうほとんどシステム化
され尽くしたと言っても言い過ぎではないであろう。必然的に、
従来型のシステム構築アプローチではうまく対応できない種類の
システム構築課題が増加している。…
そのようなことから従来型のアプローチでは、すでに業務内容が
確立しており、それを自動化しさえすれば省力化の利益が出せる、
好都合なケースだけに向くアプローチであったと言わざるを得ない。
現在は変化の時代になった。未知のビジネスに乗り出すとか、
ビジネス構造を抜本的に改革するなど、業務内容がないか、古い
業務体質がくずれ去る場合に通用する、新しいシステム構築
アプローチが今求められている。
『ゼロからわかるオプジェクト指向のすべて』日刊工業新聞社
0900デフォルトの名無しさん
NGNG実行してみました。>java -jar megami0299.jar
画面周りはOKみたいですが、マウスカーソルが
表示されないのは仕様ですか?(これが途中ということ?)
遊び方がわかりませんでした。
セガのSDIの元っぽいゲームですね。
0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNGカードゲームの腐れ設計してんの誰?
始めにカードをクラスにすることに疑問をもったやつはその場でしんどけ。
素質ないよ。
で、なんではじめのクラスの抜き出しでカードゲームでカードとマスター、参加者以外のクラスがでてくるの?
オブジェクト指向じゃないの?
はぁ?あいかわらずレベル低いっつーか、OO理解してないくせにしてるつもりのしったかばっかりだな。
0903デフォルトの名無しさん
NGNGほんと、知ったかばっかりだな。
0904デフォルトの名無しさん
NGNG> 903
知ったかばっかりだな。
0906デフォルトの名無しさん
NGNG> で、なんではじめのクラスの抜き出しでカードゲームでカードとマスター、参加者以外のクラスがでてくるの?
オブジェクト指向だからだろ。
0907デフォルトの名無しさん
NGNGこの間見付けたHIYOKOとかいう超巨大クラス。
もうヒヨコじゃねーだろ。
それを継承したPIYOPIYOクラス、一体どーゆーのーみそしてるのかと。
ねーとうごかねーし。
0908デフォルトの名無しさん
NGNG> まあ確かにオブジェクトになりえないものまでなんか出てくる人っているよね。
> この間見付けたHIYOKOとかいう超巨大クラス。
超巨大クラスが出てくるってことは、
逆にオブジェクトにすべきものをしてない可能性が高いと思われ。
レス数が900を超えています。1000を超えると表示できなくなるよ。