adventofcode/2022/day02/main.mjs

67 lines
1.2 KiB
JavaScript

import fs from 'node:fs'
import readline from 'node:readline'
const rl = readline.createInterface({
input: fs.createReadStream('input'),
output: process.stdout,
terminal: false
})
let completeScore = 0
rl.on('line', line => {
let score = 0
let janken = line.split(' ').map(symbol => unencrypt(symbol))
switch(janken[1]) {
case 'Rock':
score += 1
break
case 'Paper':
score += 2
break
case 'Scissors':
score += 3
break
}
if (janken[0] === janken[1]) {
score += 3
} else if (janken[0] === 'Rock') {
if (janken[1] === 'Paper') {
score += 6
}
} else if (janken[0] === 'Paper') {
if (janken[1] === 'Scissors') {
score += 6
}
} else if (janken[0] === 'Scissors') {
if (janken[1] === 'Rock') {
score += 6
}
}
janken.push(score)
console.log(janken)
completeScore += score
})
rl.on('close', () => {
console.log("The complete score is: " + completeScore)
})
function unencrypt(encSymbol) {
let symbol
switch (encSymbol) {
case 'A':
case 'X':
symbol = 'Rock'
break
case 'B':
case 'Y':
symbol = 'Paper'
break
case 'C':
case 'Z':
symbol = 'Scissors'
break
}
return symbol
}