それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

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

パズドラ(パズル&ドラゴンズ)のパズル部分がとても面白いので
自作ゲームに使えないかと、とりあえず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つ以上の「コラムス」形式だから
力技でもどうにかなったんですが
もしこれが「ぷよぷよ」形式だと
思いつく方法だと重すぎて影響が出そう

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

以上

パズドラは遊びじゃない

プレゼントください


8 Responses to “パズドラをHTML5/JavaScriptでクローン”

  • あのにます より:

    バグ報告ってここでいいのかな…?
    ●●●○
    ○●○○
    ○●●●
    という形で消すと止まっちゃいます。

  • kjirou より:

    報告ありがとうございます

    調査いたします

  • にゃー より:

    コラムス様の判定は必須だから、
    3つ以上の縦横の組み合わせを洗い出して
    そこからそれぞれがくっついてるかどうか判定してるんじゃ

  • kjirou より:

    最初に3個セットを作ってから判定すればいいのかー

    昔過ぎて、どうやったか忘れてしまったんですが..

  • Valkyrie より:

    横+縦+横を1色で繋げると2回に分けて消え、次のドロップが落ちるところで止まりますね

  • kjirou より:

    ご報告ありがとうございます。

    すみません、もうメンテしてないので修正はしないのですが、
    今度パ・・・オマージュした何かを作ることがあれば、参考にさせてもらいます!

  • takemovies より:

    GithubでMITライセンスと表記されていますが、イメージを変更しEclipseでActivityとして組み込みたいと思いますが許可していただけますか?宜しくお願いします。

  • kjirou より:

    > takemovies
    はい、全然問題ありません!


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives