JSFiddle - React, Tailwind, and code Playground
by shryme
JavaScript
console.log(a("E2,N4,E5,S2,W1,S3"));
function a(s) {
var arr = s.split(',');
var curX = 0;
var curY = 0;
var highestX = 0;
var highestY = 0;
var lowestX = 0;
var lowestY = 0;
var list = new Array();
var updateX = 0;
var updateY = 0;
for (var i = 0; i < arr.length; i++) {
var dir = arr[i].substr(0, 1);
var nb = Number(arr[i].substr(1));
for (var j = 0; j < nb; j++) {
var obj = {
x: curX,
y: curY,
lbl: '?'
};
if (highestX < curX)
highestX = curX;
if (lowestX > curX)
lowestX = curX;
if (highestY < curY)
highestY = curY;
if (lowestY > curY)
lowestY = curY;
if (dir === 'N') {
obj.lbl = '^';
curY--;
}
else if (dir === 'S') {
obj.lbl = 'v';
curY++;
}
else if (dir === 'W') {
obj.lbl = '<';
curX--;
}
else if (dir === 'E') {
obj.lbl = '>';
curX++;
}
list.push(obj);
}
}
if (lowestX < 0) {
highestX = highestX - lowestX;
updateX = lowestX * -1;
lowestX = 0;
}
if (lowestY < 0) {
highestY = highestY - lowestY;
updateY = lowestY * -1;
lowestY = 0;
}
var res = new Array();
for (var y = 0; y < highestY; y++) {
var n = new Array();
for (var x = 0; x < highestX; x++) {
n.push('#');
}
res.push(n);
}
console.log(list, res);
console.log(updateY);
for (var i = 0; i <...