徳冨です。

おもしろい展開になってますね。どこにコメント付けていいか分からな 
いので、自分のに…。

> Cat.fight も違和感が…。(^^;

Cat クラスは、いずれ生成される猫インスタンスの性質を定義するもの 
なので、クラスメソッドとして fight があるのは違うと思いま 
した。でも、mike.fight(tama) だとオブジェクトが等価ぢゃな 
いと感じるのは分かります。ぢゃあ、fight ぢゃなくって、 
attack, punch, kick, bite, scratch を用意するなんてのはどうで 
しょ? mike. scratch(tama) なら違和感なさそうです。

勝ち負けは、第三者である人間から見ての評価で、猫にしてみれば、噛 
み付いた、成功した、失敗した、逃げられた、テリトリーを奪った、餌 
を取られた、みたいな評価なんですよね、きっと。勝ち負けをモデリン 
グに組み入れるなら、審判とかルールのオブジェクトを作るかなぁ…。

何をモデリングしたいのかによって妥当性の評価は変わってくるでしょ 
うが、bite とか scratch みたいなのは出てないみたいな 
ので、案として投稿してみました。

それでは。

---------------------------------
-- Y.TOKUTOMI
-- http://d.hatena.ne.jp/Tommy1/
-- http://tommy1969.blogspot.com/