8パズル
8 Puzzle
移動回数:
所感など
(4/19:アップデート)
コードを色々と修正しました。
完成後のクリック操作無効化は、isCompleted変数でフラグ管理を行って実現。
また初期化関数の中で初期化関数を再帰的に呼び出す処理をやめて、do-while文で可解判定が出るまでループを回すことにしました。
これはスタックオーバーフローを危惧してのものですが、実際にはスタックオーバーフローの可能性は低いだろうと思います。
加えて可解判定について、トリッキーな実装をしてしまっていたので微修正。
ほか冗長な箇所を可能な限り削りましたが、今回一番大きかったのはクリックイベントをイベント委譲で効かせるようにしたことです。
親要素であるパネル全体にリスナーを登録して子要素のタイルに委譲しています。
まだまだ削れる部分などもあろうかと思いますので、再度コード修正を行うかもしれません。