A* 書いた
約110行。closeNodesを更新するときの手続き忘れて、wikipedia見ながら1時間ぐらい掛かってしまった。たるんどる。
PathFinder = require 'path-finder' sample_hitmap = [ [1, 1, 1, 1, 1, 1, 1] [1, 0, 0, 0, 0, 0, 1] [1, 0, 1, 0, 1, 0, 1] [1, 0, 1, 0, 1, 0, 1] [1, 0, 1, 0, 1, 1, 1] [1, 0, 1, 0, 0, 0, 1] [1, 0, 0, 1, 1, 0, 1] [1, 1, 1, 1, 1, 1, 1] ] PathFinder.dumpHitmap sample_hitmap finder = new PathFinder start = [6, 1] goal = [3, 5] console.log 'result', finder.searchPath sample_hitmap, start, goal
なんかsubstackみたいに小さなライブラリ作りまくる人みたいになってる