adventofcode-2017/day19/part1.js

36 lines
760 B
JavaScript
Raw Permalink Normal View History

2017-12-25 23:22:40 +00:00
var grid = require("fs").readFileSync("input.txt").toString().split("\n").map((a)=>(a.split("")));
var x = 163;
var y = 0;
var dirs = [[0, 1], [1, 0], [-1, 0], [0, -1]];
var dir = 0;
var visited = [];
var end = false;
var letters = [];
while(!end){
if(grid[y][x].match("[A-Z]")){
letters.push(grid[y][x]);
}
visited.push((y*201) + x);
if(grid[y][x] == "+"){
var changed = false;
var i = 0;
while(!changed){
if(visited.indexOf(((y + dirs[i][1]) * 201) + (x + dirs[i][0])) == -1){
//not visited before
if(grid[y+dirs[i][1]][x+dirs[i][0]] != " "){
//not empty
changed = true;
dir = i;
}
}
i++;
}
}
x += dirs[dir][0];
y += dirs[dir][1];
if(grid[y][x] == " "){
end = true;
}
}
console.log(letters.join(""));