トップページ > プログラム > 2016年06月01日 > MqC7NAR1

書き込み順位&時間帯一覧

2 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000015010300000000111



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net

書き込みレス一覧

オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
110 :デフォルトの名無しさん[sage]:2016/06/01(水) 09:09:11.45 ID:MqC7NAR1
将棋の合法手については駒自体の動きと盤面の両方を考慮して決まる。
クラス構成はどうする?
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
113 :デフォルトの名無しさん[sage]:2016/06/01(水) 10:00:59.02 ID:MqC7NAR1
>>111
駒をクラスにしろなんて言ってない。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
114 :デフォルトの名無しさん[sage]:2016/06/01(水) 10:10:44.41 ID:MqC7NAR1
>>112
明確な正解はなさそうだから、意見交換するにはいい話題だと思って。

駒の動きを駒に持たせるのは自然だけど
局面による制約はあるから盤、駒、ルールの割り振りがはっきりしない。
王手放置、二歩、打ち歩詰めの禁止は盤に紐づいてるように思える。
どちらもルールって考えもありそう。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
115 :デフォルトの名無しさん[sage]:2016/06/01(水) 10:19:46.05 ID:MqC7NAR1
>>111
受動的なものだからクラスにならないってのは違うだろ。
MVCもMは受動的なクラスの典型。

駒をクラスにするって制約を勝手に想定して反発してる感じだから
それがないと認識した上で意見を書いて欲しい。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
119 :デフォルトの名無しさん[sage]:2016/06/01(水) 10:30:10.54 ID:MqC7NAR1
>>117
駒の動きを表現する方法はどう考える?
金の動きは概念的には分かるけど、金クラスに問い合わせたときにどうやって返すんだろ?
配置が決まっていないならマスとして返すことはできない。
金オブジェクトは配置されたマスの情報まで持っているとするのか?
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
121 :デフォルトの名無しさん[sage]:2016/06/01(水) 10:49:52.11 ID:MqC7NAR1
電王戦に参加する将棋ソフトという想定。
>>8-9
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
124 :デフォルトの名無しさん[sage]:2016/06/01(水) 12:00:09.01 ID:MqC7NAR1
>>122
>>123
とすると、どうなる?
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
128 :デフォルトの名無しさん[sage]:2016/06/01(水) 14:06:20.72 ID:MqC7NAR1
なんとなくは分かるんだが、明確には分からない。
以下のケースのそれぞれの場合に、どのクラスのメソッドを呼び出して、
そのメソッドはどのクラスのどんな情報を参照するのか説明して欲しい。
@盤上のすべての合法手を列挙する。王手放置などはしないようにする。
Aある駒が移動できるマスを列挙する。
Bあるマスに移動できる手を列挙する。大駒を取れる手があるなら優先的に考慮するとかあるだろう。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
129 :デフォルトの名無しさん[sage]:2016/06/01(水) 14:21:18.72 ID:MqC7NAR1
>>128の例を書こうと思って書き始めたけど、文章で書くよりUMLを書いたほうが早そう…。

@合法手をどのクラスに問い合わせるのか?
A盤、駒、ルールはクラスとするのか?駒には金は合計4枚とか複数枚あるけど
それぞれごとにオブジェクトがあるのか?、
B盤、駒、ルールの間の参照は?
といった点について考えを聞きたい。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
130 :デフォルトの名無しさん[sage]:2016/06/01(水) 14:28:22.36 ID:MqC7NAR1
合法手のルールとして

駒ごとの動き。
縁にあれば動きが制約される。
他の駒によって動きが制約される。
二歩による制約。
王手放置は禁止。
打ち歩詰めの禁止。

とかいろいろあって、駒だけに関係するものから盤全体に関するものまで
レベルがいろいろあるのをそれぞれどのクラスに担当させるんだろう?

>>125とするなら
駒ごとの動き。
縁にあれば動きが制約される。
は駒オブジェクトが返せるけど、他を考慮するには盤の情報が必要。
上の2つは駒クラスに担当させるのか、それともルールクラスが担当するのか、などなど。
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
141 :デフォルトの名無しさん[sage]:2016/06/01(水) 23:57:23.45 ID:MqC7NAR1
う〜ん。よく分からん。
しっかりした設計者なら自分の理解をUMLでモデリングするんだろうなと思った…。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。