Skip to content
Snippets Groups Projects
Commit 74b480f9 authored by deuce's avatar deuce
Browse files

Fix path finding to work correctly with one-way warps.

Add crlf after the path is displayed in the computer.
parent bae44ecb
No related branches found
No related tags found
No related merge requests found
...@@ -65,6 +65,8 @@ function ComputerMenu() ...@@ -65,6 +65,8 @@ function ComputerMenu()
console.write(" - "); console.write(" - ");
console.write(path[i]); console.write(path[i]);
} }
console.crlf();
console.crlf();
} }
} }
break; break;
......
...@@ -281,6 +281,7 @@ function ShortestPath(start, end) ...@@ -281,6 +281,7 @@ function ShortestPath(start, end)
if(univ[univ[pos].Warps[i]]==undefined) { if(univ[univ[pos].Warps[i]]==undefined) {
univ[univ[pos].Warps[i]]=sectors.Get(univ[pos].Warps[i]); univ[univ[pos].Warps[i]]=sectors.Get(univ[pos].Warps[i]);
univ[univ[pos].Warps[i]].hops=hops; univ[univ[pos].Warps[i]].hops=hops;
univ[univ[pos].Warps[i]].from=pos;
if(univ[pos].Warps[i]==end) if(univ[pos].Warps[i]==end)
return(true); return(true);
} }
...@@ -304,17 +305,9 @@ function ShortestPath(start, end) ...@@ -304,17 +305,9 @@ function ShortestPath(start, end)
} }
ret.push(end); ret.push(end);
for(i=end;i!=start;) { for(i=end;i!=start;) {
var lasthop=i; i=univ[i].from;
for(j=0; j<univ[i].Warps.length; j++) { if(i!=start)
if(univ[univ[i].Warps[j]]!=undefined && univ[univ[i].Warps[j]].hops<univ[i].hops) { ret.unshift(i);
i=univ[i].Warps[j];
if(i!=start)
ret.unshift(i);
break;
}
}
if(i==lasthop)
return(null);
} }
return(ret); return(ret);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment