JSFiddle - React, Tailwind, and code Playground
by dschu012
JavaScript
var z = " v < "+"\n"+
"> v "+"\n"+
" > ^ "+"\n"+
"> v"+"\n"+
"^ < *";
var a = z.split("\n"),b=[],y=x=-1;
for(i in a) {
b.push(a[i].split(""));
if(x<0)
x=a[i].indexOf("*"),y=i;
}
s(y,x);
function w() {
for(i in b) {
if(b[i].indexOf('v')>=0) return false;
if(b[i].indexOf('>')>=0) return false;
if(b[i].indexOf('<')>=0) return false;
if(b[i].indexOf('^')>=0) return false;
}
return true;
}
function s(y,x) {
var j=0;
console.log(x,y);
b[y][x]=' ';
if(w())return;
while(++j) {
if(b[y-j]&&b[y-j][x]=='v'){s(y-j,x);break;}
if(b[y][x-j]=='>'){s(y,x-j);break;}
if(b[y][x+j]=='<'){s(y,x+j);break;}
if(b[y+j]&&b[y+j][x]=='^'){s(y+j,x);break;}
}
console.log(y,x);
}
console.log(b);