ライフゲーム(2)

ライフゲーム - 象徴ヶ淵で作ってた奴は画面サイズを大きくすると、無駄に処理速度が低下してしまったのでFLTKは止めた。GLUTも試したが、画面サイズを大きくするともたついてしまう。SDLの通常画面では期待通りの処理速度で動いてくれたので、そちらに切り替えてみた。画面サイズや処理速度の変更コマンドは一通り揃えてある(DL)。


他のルールを気軽に試すために、エディタでルールを作れるようにしたいが、SDLGUIに関しては貧弱である。もちろん、必要だと思って開発されているものもある。しかし、ビルドできなかったファイルサイズが余計に重たくなってしまうのが欠点である。システムネイティブのAPIを使えば余計なデータを持ち込まなくて済むし、システムの機能を十分に活かせる。マルチプラットフォーム用のライブラリを使うのは地上で宇宙服を着るようなものだ。


プログラムを特定のシステムで動かす段階でマルチプラットフォームを考える必要はないのかも知れない。仕様をちゃんと書いて、システム依存の部分を分離できるように作っておけば(C++なら十分可能である)、システム依存の部分を差し替えるか、そのラッパを書けば楽に移行できる。それに、(規模にもよるが)仕様を元にコードを書き下すのはそれほど大変ではない。

それでどうするの

今回のではSDL依存のコードはもう書かない。新しいルールは外部エディタでテキスト形式で書き起こして、名前決め打ちで読み出せばよい。新しい機能が必要ならWindows依存のコードを書こう。でも、そんなにひまじゃないので多分しばらく放置。