この素晴らしいパスファインディング php 関数をhttp://granularreverb.com/a_star.phpから javascriptに変換しようとしています。
PHP 関数
function path_float(&$heap, &$values, $i, $index) {
for (; $i; $i = $j) {
$j = ($i + $i%2)/2 - 1;
if ($values[$heap[$j]] < $values[$index])
break;
$heap[$i] = $heap[$j];
}
$heap[$i] = $index;
}
JAVASCRIPT 関数
var $path_f;
var $path_h;
var $path_g;
var $path_open_heap;
function path_float($path_open_heap, $path_f, i, index) { // return heap & values
var j;
for (; i; i = j) {
j = (parseInt(i) + parseInt(i)%2)/2 - 1;
if($path_f[$path_open_heap[j]] < $path_f[index] ){
break;
}
$path_open_heap[i] = $path_open_heap[j];
}
$path_open_heap[i] = index;
}
javascript がすべての要素なしで for() を理解するかどうかわかりませんか? JavaScript 関数を実行しようとすると、ブラウザがフリーズします。
Ps 私は同じ php と js 関数が必要なので、事前に作成された js パスディンディングには興味がありません。
前もって感謝します