67 lines
1.2 KiB
JavaScript
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
|
|
}
|