2014年6月23日月曜日

迷路を作ったり解いたりする wonderland.maze を整理中。(いろいろとまだしょぼい(´・ω:;.:...


いまのところ2Dボクセル型の密で均一な空間に単純な迷路を作ったり解いたりする程度の機能実装に留まります。(穴掘り法、ダイクストラ法、A*法)

どうもコードも設計も現状では美しくないし、機能もゲーム向けの実用には到底不十分なのでリリースタグを打つのはまだまだ先かな。

さいきん整備中の wonderland 系ライブラリーの特徴として、この子も clang++-3.3, g++-4.8.2, em++-1.20.0 で動作確認しています。nodejsでもモダンなウェブブラウザーでも動作します(´・ω:;.:...

以下、デモ用のexample-1の実行の様子。

LH-MAIN /home/usagi/repos/wonderland.maze/build.clang++
  << ./example/example-1 9 9 # " "                                                                                                                    [master]

[ generate ( Drill ) ]

#########
#       #
# ### ###
# #S  #G#
# ### # #
#   # # #
# # ### #
# #     #
#########

[ solve ( A* ) ]

0 : ( 3, 3 )
1 : ( 4, 3 )
2 : ( 5, 3 )
3 : ( 5, 2 )
4 : ( 5, 1 )
5 : ( 4, 1 )
6 : ( 3, 1 )
7 : ( 2, 1 )
8 : ( 1, 1 )
9 : ( 1, 2 )
10 : ( 1, 3 )
11 : ( 1, 4 )
12 : ( 1, 5 )
13 : ( 2, 5 )
14 : ( 3, 5 )
15 : ( 3, 6 )
16 : ( 3, 7 )
17 : ( 4, 7 )
18 : ( 5, 7 )
19 : ( 6, 7 )
20 : ( 7, 7 )
21 : ( 7, 6 )
22 : ( 7, 5 )
23 : ( 7, 4 )
24 : ( 7, 3 )


参考

0 件のコメント:

コメントを投稿