 ;; 15 puzzle solver
-;; 2015-05-17
+;; 2015-05-18
 ;; Leonardone @ NEETSDKASU
 ;;
 ;; ググったら15パズルにはA*アルゴリズムを使えと書いてあった



(defn Puzzle-Solve [pb]
	(let [pbst (Puzzle-MakeState pb 0 0) pbdt (Puzzle-Data pb) pbval (Puzzle-Cost pb)]
	(if (== pbdt (Puzzle-Data Puzzle-Default))
		()

						(list true (assoc o mdt mst) c n)
						(if (contains? o mdt)
							(if (< mval (Puzzle-GetValue (o mdt)))
								(let [st2 (o mdt) dt2 (Puzzle-GetPuzzle st2) v2 (Puzzle-GetValue st2)
										n2 (assoc n v2 (dissoc (n v2) dt2))]
									(recur (assoc o mdt mst) c (assoc n2 mval (assoc (n2 mval) mdt mst)) (inc k)))
								(recur o c n (inc k)))
							(if (contains? c mdt)
								(if (< mval (Puzzle-GetValue (c mdt)))
