masaedw/evolution-hs — pull request #5 by swtw7466 (2013-05-22 12:39:21+00:00)
Title: 最初の動物

ついにこの世界にも最初の動物が誕生しました。この頃の動物はまだ神性を保っていて、死ぬこともなく、食べる必要もなく、世界を永遠に歩き続けることができました。しかし、それがゆえに、繁殖する必要もまたなかったのです。この動物は生をしらず、死も知らず、時と共に森で覆われていく世界で、ただ一匹、無限に歩き続けるのです。

----

フレーバーテキストはさておいて。

Direction は Up とか Down とかにしようと思ったのですが、Left と Right がもっと有名な Either で使われているのもあってやめにしました。まあ古き時代のトーラスマップを採用していた CRPG でも東西南北だったりしますし、良いんじゃないでしょうか。

初期動物の向きは口頭で話したとおり Random.fromList でやってたんですけど、結局 Random クラスのインスタンスにしました。インスタンス定義は必要だけど生成するところはすっきりするかなと。遺伝子情報による重み付けのところでは、Random.fromList でさくっとできそうなので、それはそっちの予定で。

あと動物自身が自分の位置知ってるのは良くないんじゃ？　って話は放置中です。これはこれで悪くないとは思うんですが、動物は世界の広さまで知っているべきなのかとか、あるいは歩く際には外から世界の広さを教えてもらうべきなのかとか、そういうあたりの設計はどうあるべきなのか悩ましい感じですね。