[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] Re: Boardインスタンスの使い方




高橋です。

>>コマが周囲のコマ(もしくはマス)にメッセージを送って、裏返るか
>>否かはコマ自身が判断するという設計もあるのではないでしょうか?
>>(メッセージをコマへ伝えるのが盤の仕事になります)
>
>コマ(またはマス)を、オブジェクトと見るかどうかですね。
[中略]
>でも、現実問題としては、オブジェクトの粒度をそこまで下げてし
>まうと、ややこしくなる割にメリットはなさそうだと、*私は* 判
>断しました。
>enum(はJavaにはないけど)の2次元配列(もJavaにはないけど)で充
>分ではないでしょうか。

オブジェクトの粒度については設計上の議論がたくさん出るところです。
聞くところによると、C++では比較的大きな粒度に、Smalltalkだと比較的
小さな粒度になるらしいです。
コマをオブジェクトにすると、ルールを変更したり、あるいは別のゲームを
作るときに再利用が狙えそうです。3次元オセロなんて発展もあるかも。
逆に再利用性や柔軟性など不要で特定の処理だけを作るなら、粒度が小さい
と煩雑なだけかもしれません。
プログラミング入門書のサンプルに示されるような小さなプログラムには
あまりオブジェクト指向設計(*1)は向かないのかと思います。やはりある程度
規模が大きな、たくさんのモジュールを組み合わせて作っていくような
プログラムに向いているのでしょう。
(*1 オブジェクト指向プログラミングとは区別して表現しています。)

#コマとマスのゲームフレームワークを作ると、オセロから双六、人生ゲーム
#なんていろいろ発展しそうです。潜水艦ゲームもいいですね。




------
Toru Takahashi
torutk@xxxxxxxxxx
NIFTY: GHE00470
http://www.alles.or.jp/~torutk/