const fs = require('fs');
const keypad = [
[1,2,3],
[4,5,6],
[7,8,9]
];
let posX = 1;
let posY = 1;
/*
const keypad = [
[ , ,1, , ],
[ ,2,3,4, ],
[5,6,7,8,9],
[ ,'A','B','C', ],
[ , ,'D', , ]
];
let posX = 0;
let posY = 2;
*/
const testCase = `ULL
RRDDD
LURDL
UUUUD`;
function move(direction) {
switch (direction) {
case 'U':
if (keypad[posY-1] && keypad[posY-1][posX]) {
posY -= 1;
}
break;
case 'D':
if (keypad[posY+1] && keypad[posY+1][posX]) {
posY += 1;
}
break;
case 'L':
if (keypad[posY][posX-1]) {
posX -= 1;
}
break;
case 'R':
if (keypad[posY][posX+1]) {
posX += 1;
}
break;
}
}
function getNumber(line) {
line.split('').filter(move);
return keypad[posY][posX];
}
function getCode(input) {
return input.trim().split('\n').map(getNumber).join('');
}
console.log(getCode(testCase));
// fs.readFile('input.txt', 'utf8', function (err, contents) {
// console.log(getCode(contents));
// });