File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -94,6 +94,22 @@ var astar = {
94
94
}
95
95
var neighbors = astar . neighbors ( grid , currentNode , diagonalThisNode ) ;
96
96
97
+ var validNeighborCount = 0 ;
98
+ for ( var i in neighbors ) {
99
+ var neighbor = neighbors [ i ] ;
100
+ if ( ! neighbor . closed && ! neighbor . isWall ( ) && ! beenVisited ) {
101
+ validNeighborCount ++ ;
102
+ }
103
+ }
104
+
105
+ //This will help us find paths that are mostly not diagonal, but may have node that diagonal is the only option
106
+ if ( ( validNeighborCount == 0 ) && ( diagonal == false ) ) {
107
+ diagonalThisNode = ( currentNode . options . diagonal != null ) ? currentNode . options . diagonal : true ;
108
+ if ( diagonalThisNode ) {
109
+ neighbors = astar . neighbors ( grid , currentNode , true ) ;
110
+ }
111
+ }
112
+
97
113
for ( var i = 0 , il = neighbors . length ; i < il ; i ++ ) {
98
114
var neighbor = neighbors [ i ] ;
99
115
You can’t perform that action at this time.
0 commit comments