今日の雑記

生きることでいっぱいいっぱい

Rogue のソース

を、最近ぼちぼち読んでいる。
とくになんか目的があるわけではないんだけど、自分の大好きなゲームでソースが公開されてて、読まない手はないよね、と。
以前、クローンかなんかのソースを拾ってきて、何かにダンジョン部分だけ移植したことはあるんだけど、それは結構読みやすい(というか最近のC言語的ソース)だったので、読むのも移植するのもそんなに大変じゃなかった。
今回は、
via http://yozvox.web.infoseek.co.jp/526F677565.html

また、オリジナルのUNIX版のソースプログラムは既に残っていないと長い間言われてきましたが、結局見つかったようで、それを元にした復刻が「Roguelike Restoration Project http://rogue.rogueforge.net/ 」で行われています。

を経て、
http://rogue.rogueforge.net/
から落としてきました。
ソースを見るとまあ、オリジナル(から派生した)かどうかはともかくとして、確かに「昔のCっぽいねえ」という記述が。
解りやすい例だと、

draw_room(rp)
register struct room *rp;
{
    register int j, k;
    ・
    ・
    ・

こんな感じの記述がごろごろ。これ若い C プログラマで知ってる人って少ないだろうねえ。
ちょっと昔話をさせていただくと、ボクが初めて C を触った当時(1991年くらい)に読んでいた教本(確か FujiZerox 社が出してた赤い本じゃなかったかしら?流石に失念)のサンプルはこういう書き方がされてました。
んで、翌年くらいから採用された情報処理試験(確か2種)の問題でもこういう記述だった気が。流石に10年オーバーで一時的な記憶なのでうろ覚えもいいところです。
話を戻して。
んで読むだけではなくて、さらにこれ(= Rogue)のダンジョン生成部分のみを動かそうとしてるところです。もうちょっとで動きそうなんだけどなあ...。