38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
|
const fs = require("fs");
|
||
|
const filePath = "data.txt";
|
||
|
|
||
|
fs.readFile( filePath, 'UTF-8', (err, data )=>{
|
||
|
|
||
|
let CommandsList = data.split("\n");
|
||
|
let horizontalPosition = 0 , depth= 0, aim = 0;
|
||
|
|
||
|
|
||
|
for( let i =0 ; i < CommandsList.length; i++){
|
||
|
let [Command , amount] = CommandsList[i].split(" ");
|
||
|
|
||
|
console.log(Command);
|
||
|
console.log(amount);
|
||
|
|
||
|
switch (Command){
|
||
|
case 'forward':
|
||
|
horizontalPosition += Number(amount);
|
||
|
depth += aim * Number(amount) ;
|
||
|
break;
|
||
|
case 'down':
|
||
|
aim += Number(amount);
|
||
|
break;
|
||
|
case 'up':
|
||
|
aim -= Number(amount);
|
||
|
break;
|
||
|
|
||
|
}
|
||
|
console.log(`Final Horizontal position: ${horizontalPosition}, Final depth: ${depth}, aim; ${aim}`);
|
||
|
|
||
|
}
|
||
|
|
||
|
console.log(`Final Horizontal position: ${horizontalPosition}, Final depth: ${depth}`);
|
||
|
console.log( `The answer is: ${horizontalPosition * depth}` )
|
||
|
|
||
|
|
||
|
|
||
|
});
|