駅前をぶらぶらしていて

ゲーム屋兼DVD屋さんにふらっと入る。
何か面白い映画はないか、と、探していてワゴンの中の「塊魂」が、目に付いた。お値段1960円。
騙されたとしても、この値段なら、まぁいいか、と、半年振りにゲームを買う。
既に続編が出ていることはCMで見たのだが、まぁ、続編はやってみて面白かったら買ってみるか、などと、考えてみた。
ホコリをかぶったPS2を引きずり出してやってみる。
ふんふん、そうか、転がして引っ付けるのか。
ふんふん、制限時間内に10センチにすればいいのね。
ふんふん、できません(涙)もう一回。
・・・
しばらくハマって、気がついたら4時間やってた。
そうだ、この時間の浪費がイヤでゲームはやらなくなったんだよな。。
と、思いつつも、夢中になってしまった。
なぜ、夢中になったのかを考えてみる。
「酔った勢いで星々を壊してしまった、尻拭いをやる、という設定」
が、気に入ったのか?
さておき、やりながら、ふと、考えたこと。
このゲームに存在する全てのオブジェクトは「くっつく」というメソッドを持っている。
(たぶん、「くっつく」を持ったクラスを継承している)
ただし、くっつくかどうかは、くっつく相手(つまり、主人公、さらに言うとプレイヤーだ)が転がす球のサイズに依存する。だから、相手のサイズを知る必要がある。
主人公の転がす球は一つだ。だから、これはシングルトンパターンで生成される。しかし、こいつのサイズは全てのオブジェクトが知っておく必要がある。
それは、グローバル変数でも実装できそうだが、それだと、イマイチなのでサイズは転がす球のプロパティとして持たせて、接触の度にgetter/setterを駆使して径を変えたりするんだろう。か。
と、勝手に想像してみた。