私はJavascriptでA*パスファインディングアルゴリズムのバージョンを実装しています。正気を保つために、疑似多次元配列(つまりネストされた配列)を使用しています。A *に慣れていない場合、1つのステップは、「開いている」ノードの周囲のノードをチェックすることです。
「開いている」ノードの場所を渡し、アレイ内の隣接するノードを確認するにはどうすればよいですか?配列の場所はファーストクラスであるべきではありませんか?
function checknode (node) //Such as [5,2]
{
if(array[node+1][node]==something) //In this case [6,2]
}
ええ、私はx座標とy座標を別々の引数として渡すことができることを知っています:
function checknode (nodex, nodey)
{
if(array[nodex+1][nodey]==something)
}
しかし、私のコードに関する限り、これが意味することは望ましくありません。
編集:基本的に、配列(5,2)のアイテムの場所を関数に渡して操作できるかどうか疑問に思っています。