advent-of-code

Entries to advent of code, multiple years
git clone git://git.finwo.net/misc/advent-of-code
Log | Files | Refs

part-01.ts (910B)


      1 import { lineByLine } from './line-by-line';
      2 
      3 const position = { x: 0, y: 0 };
      4 
      5 (async () => {
      6 
      7   await lineByLine(__dirname + '/input', line => {
      8     if (!line) return;
      9     let [command,range] = line.split(' ');
     10     range = parseInt(range);
     11 
     12     switch(command) {
     13       case 'up'     : position.y -= range; break;
     14       case 'down'   : position.y += range; break;
     15       case 'forward': position.x += range; break;
     16       default:
     17         throw new Error(`Unknown command: ${command}`);
     18     }
     19   });
     20 
     21   process.stdout.write('\n\n');
     22   process.stdout.write('---[ REPORT ]---\n');
     23   process.stdout.write('\n');
     24   process.stdout.write(`Position\n`);
     25   process.stdout.write(`  X: ${position.x}\n`);
     26   process.stdout.write(`  Y: ${position.y}\n`);
     27   process.stdout.write('\n');
     28   process.stdout.write(`Puzzle\n`);
     29   process.stdout.write(`  mult: ${position.x * position.y}\n`);
     30   process.stdout.write('\n');
     31 
     32 
     33 })();
     34