いけむランド

はてダからやってきました

Coyotl

迷路を自動生成できるツール。

いつもどおり cygwin で遊ぶためのパッケージもつくってみた。

インストールして、/usr/bin/test_maze.exe を実行すると、カレントディレクトリに png 形式のテスト画像が生成される。よって、libpng12 が必要になる。

% test_maze

generating a 997-by-1001 maze
writing maze image to maze.png (grid size 11)
writing maze data to maze.png.maze
reading maze data
writing restored maze image to restored_maze.png
done in 9.531 seconds


また、生成される画像はとてもでかいので注意した方が良い。

% ls -l maze.png maze.png.maze restored_maze.png 
-rw-r--r-- 1 fuddy なし  742829 Mar  8 12:01 maze.png
-rw-r--r-- 1 fuddy なし 1998016 Mar  8 12:01 maze.png.maze
-rw-r--r-- 1 fuddy なし  742829 Mar  8 12:01 restored_maze.png
% file maze.png maze.png.maze restored_maze.png
maze.png:          PNG image data, 10989 x 11033, 1-bit grayscale, non-interlaced
maze.png.maze:     data
restored_maze.png: PNG image data, 10989 x 11033, 1-bit grayscale, non-interlaced


テスト画像 (切り抜いたもの) は以下のような感じになる。



libcoyotl には /usr/bin/test_prng.exe というものもある。これはいろんな乱数生成アルゴリズムをテストするものらしい。おそらく、これらの乱数生成を私用して、上記の迷路を自動生成しているものと思われる。

% test_prng 

ALGORITHM TIMING (random numbers / second)
mtwister =   12.76 (78400627 rn/sec)
 mwc1038 =   11.76 (85041245 rn/sec)
 kissrng =   17.57 (56911957 rn/sec)
  mwc256 =   13.01 (76893502 rn/sec)
cmwc4096 =   10.37 (96478533 rn/sec)