誰かが言ったことを取り返してそれを繰り返すことは、コンセプトの基礎を理解する最良の方法です。だから、私はA *を読んで擬似コードに変換しています。私はそれを得たと思います。誰でもこの実装が機能するかどうかを確認したり、ヒントを書いたりできますか?あなたの擬似コードと1つのマイナーな問題で)*パスファインディング - 私は疑似コードでそれを持っていると思う、検証が必要だと思う。
openList.ClearTiles
closeList.clearTiles
path.clearTiles
openList.Add startTile
While openList.Count > 0 and PathFound = false
activeTile = openList.GetTileWithLowestPathCost
openList.remove activeTile
closeList.add activeTile
if targetTile.equals(activeTile)
pathFound = true
else
for each activeTile.neighbors as nTile
if nTile not in openList and not in closeList and IsMovable
nTile.parent = activeTile
nTile.hueristic = computeHeuristic
nTile.movementCost = computeMovementCost
nTile.pathCost = nTile.hueristic + nTile.movementCost
openList.add nTile
elseif isMovable = false
closelist.add nTile
endif
next
endif
endwhile
if pathFound = true
while activeTile.parent is not nothing
path.insertAtZero activeTile
activeTile = activeTile.parent
endwhile
endif
Oohはどちらも簡単に修正できます。ありがとう、これは私が基本的な考えを落としたので、今実装するのがはるかに簡単になるはずです! –