"Do it" greedily !!

-GreedGame in Smalltalk-


What's Greed??

はやいはなしがサイコロゲームです。

GREEDは二人以上のプレイヤーによって行なわれるサイコロゲームである。 ゲームは、5個のサイコロを壷に入れ、振って出た目から得点を計算し、得点の合計が最初に5000点になった人が勝ちとなる。 プレイヤーがひととおり振り終えても勝者が決まらない場合は、再度プレイを続け合計が5000点になるまで繰り返す。

という仕様になっています。

Why Greed??

もともとGreedGameは、OOPSLA' 89で行われた、オブジェクト指向プログラムコンテストの課題です。 オブジェクト指向でのよりよいモデリング、設計、実装を簡単なプログラムで示すというのが目的で、開催されました。Basic、Pascal、C++、Smalltalkなど様々な言語の エキスパート達が、「われこそは」と挑戦を挑んだのでした。

詳しい様子は、"Object Lessons -Lessons Leaned in Object-Oriented Development Projects"(Tom Love, 1993 SIGS)に記述があります。日本語訳は「オブジェクトレッスン」(1995 トッパン、ISBN 4-8101-8588-5)。

今回は私がスクラッチからモデリングから実装までを試みました。Smalltalkのエレガントな特徴が現れていれば幸いです。

Smalltalk、または他の言語で挑んでみたというかたはお知らせください。リンクを張り合ってGreedの輪を広げましょう。

How Greedy??

Smalltalkを実装として選んだからには、ほかのどんな言語よりもエレガントに決めなければなりません。

それが宿命です。

で、モデル(Rational Rose モデルファイル)はこうなりました。(シーケンス図追加! 98/10/25)

デザイン上の工夫は以下のようになっています。

ではでは、お楽しみください。


VisualWorks 2.5.* or VisualWorks 3.0

ここからダウンロードしてください


ご意見は umejava@mars.dti.ne.jp まで