さんぷるとか

DXRuby用のサンプルとして、15パズルを更に簡単にした8パズルを作った。
完全ランダムでシャッフルすると解けない問題になってしまうのを、30分ぐらいいじってようやく気がついた。


サンプルならスマートなロジックにするのが望ましいが、どうにもごちゃごちゃしてしまっている。
問題生成やデータの入れ替え、正解判定および描画のあたりで、スマートな作り方が思いつかない。
15パズル程度、さくさくっと作れるだろうと思っていたから、ちょっと意外だ。
いや、作るの自体はさくさくだったが、微妙に複雑にならざるをえない。
とりあえずちょー簡単なサンプルというには、アルゴリズム周りをもっとシンプルにしておきたいところだ。


そういえばパズルにするファイルを選択するのにVisualuRuby計画を利用している。
DXRubyのサンプルだからDXRubyだけにしたいのだが、ファイル選択ダイアログは何かとよく使うからサポートしておいてもいいかもしれない。