旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

パズドラをHTML5/JavaScriptでクローン

2012年11月15日

パズドラ(パズル&ドラゴンズ)のパズル部分がとても面白いので
自作ゲームに使えないかと、とりあえずJavaScriptでクローンしてみました

 Github – kjirou/mugen_pazdora
 デモ環境はコチラ

  • 色々と未完成ですが、パズル本体部分は再現出来てるつもり
  • Google Chrome と iPhone4 の Safari でしか動作確認していません
  • iPhoneでは残念な速度になっております
  • 今後開発を続けるかは考え中

利用したJavaScriptライブラリの所感

Sugar.js はかつてのprototype.jsのように
プロトタイプを上書きして便利な汎用関数を追加してくれるライブラリです
@komagata から聞いて初めて使ってみた

起こりがちな他ライブラリとの衝突問題にも出来る限り配慮してくれていて
(Object.prototypeは更新しないで、Objectのメソッドとして静的に持たせたりとか)
今のところは、便利に使っていて特に不満な点もありません
わかっちゃいたけど、Arrayのプロパティとしてeachやmapやらを持たせられると
楽で楽で楽で楽で楽で!

他のプロトタイプ更新系ライブラリとは、否応なく衝突しちゃいますが
空いてるなら試しに入れても良いと思う

jQuery UI Touch Punch は jQuery UI を iPhone で有効にするためのライブラリ
読み込むだけで良い
これも今のところはちゃんと動いている、便利な世の中だー

JSDeferredは超好きなんだけど、なんでこれ流行らないんだろう?
「とりあえず、Deferredオブジェクトを返しとく」だけで
非同期処理をキレイに分離できるのが、一番良い点

アルゴリズム的な話

3-Match の判定部分が、泥臭くなって時間も掛かってしまったので
アルゴリズムを解説しているサイトをご存じでしたら
是非コメントを頂きたく

パズドラは、まだ縦横3つ以上の「コラムス」形式だから
力技でもどうにかなったんですが
もしこれが「ぷよぷよ」形式だと
思いつく方法だと重すぎて影響が出そう

どうやってんでしょうなー

以上

パズドラは遊びじゃない

プレゼントください