Console messages styled

This commit is contained in:
2021-11-23 22:00:53 -03:00
parent 9a225d2fce
commit bc60fefd3c
2 changed files with 48 additions and 19 deletions

View File

@@ -1,4 +1,5 @@
const inquirer = require('inquirer') const inquirer = require('inquirer')
const colors = require('colors')
const messagesList = { const messagesList = {
@@ -8,6 +9,12 @@ const messagesList = {
spanish: '¡Bienvenido al juego de Piedra Papel o Tijeras desde la consola!' spanish: '¡Bienvenido al juego de Piedra Papel o Tijeras desde la consola!'
}, },
gameTitle: {
english: 'Rock Paper and Scissors CLI game',
spanish: 'Piedra Papel o Tijeras desde la consola'
},
play: { play: {
english: 'Select one option:', english: 'Select one option:',
@@ -20,28 +27,40 @@ const messagesList = {
spanish: ['Piedra', 'Papel', 'Tijeras'] spanish: ['Piedra', 'Papel', 'Tijeras']
}, },
resultTitle: {
english: 'Results:',
spanish: 'Resultados:'
},
tie: { tie: {
english: 'The result is a draw! GG', english: ' - The result is a draw! GG',
spanish: 'Empate! Bien Jugado.' spanish: ' - Empate! Bien Jugado.'
}, },
victory: { victory: {
english: 'You win!', english: ' - You win!',
spanish: 'Ganaste!' spanish: ' - Ganaste!'
}, },
defeat: { defeat: {
english: 'You lost...', english: ' - You lost...',
spanish: 'Perdiste...' spanish: ' - Perdiste...'
},
computerSelectionTitle: {
english: 'Computer selection:',
spanish: 'Selección de la computadora:'
}, },
computerSelection: { computerSelection: {
english: 'Computer selection is ', english: ' - Computer selection is ',
spanish: 'La selección de la computadora es ' spanish: ' - La selección de la computadora es '
}, },
stats: { stats: {
@@ -102,24 +121,24 @@ function gameLogic(languageSelection) {
function showStats() { function showStats() {
console.log() console.log()
console.log(messagesList.stats.title[languageSelection]) console.log(messagesList.stats.title[languageSelection].underline.bold)
console.log(messagesList.stats.victory[languageSelection] + victoryCount) console.log(messagesList.stats.victory[languageSelection] + victoryCount.toString().bold)
console.log(messagesList.stats.consecutiveVictory[languageSelection] + consecutiveVictoryCount) console.log(messagesList.stats.consecutiveVictory[languageSelection] + consecutiveVictoryCount.toString().bold)
console.log(messagesList.stats.defeat[languageSelection] + defeatCount) console.log(messagesList.stats.defeat[languageSelection] + defeatCount.toString().bold)
} }
function victoryMessage() { function victoryMessage() {
victoryCount++ victoryCount++
consecutiveVictoryCount++ consecutiveVictoryCount++
console.log(messagesList.victory[languageSelection]) console.log(messagesList.victory[languageSelection].bold.green)
} }
function defeatMessage() { function defeatMessage() {
defeatCount++ defeatCount++
consecutiveVictoryCount = 0 consecutiveVictoryCount = 0
console.log(messagesList.defeat[languageSelection]) console.log(messagesList.defeat[languageSelection].bold.red)
} }
function translateOption(userSelection, actualLanguage, targetLanguage) { function translateOption(userSelection, actualLanguage, targetLanguage) {
@@ -154,11 +173,15 @@ function gameLogic(languageSelection) {
userSelection = translateOption(userSelection, languageSelection, 'english') userSelection = translateOption(userSelection, languageSelection, 'english')
console.log() console.log()
console.log(messagesList.computerSelection[languageSelection] + translateOption(computerSelection, 'english', languageSelection)) console.log(messagesList.computerSelectionTitle[languageSelection].underline.bold)
console.log(messagesList.computerSelection[languageSelection] + colors.bold(translateOption(computerSelection, 'english', languageSelection)))
console.log()
console.log(messagesList.resultTitle[languageSelection].underline.bold)
if (computerSelection === userSelection) { if (computerSelection === userSelection) {
console.log(messagesList.tie[languageSelection]) console.log(messagesList.tie[languageSelection].bold.yellow)
} }
// if (computerSelection === 'Rock') { // if (computerSelection === 'Rock') {
@@ -278,8 +301,11 @@ function gameLogic(languageSelection) {
if (response === 'Yes') { if (response === 'Yes') {
console.log('----------------') console.clear()
console.log() console.log()
console.log(messagesList.gameTitle[languageSelection].bold.brightBlue)
console.log()
gameLogic(languageSelection) gameLogic(languageSelection)
return return
} }
@@ -287,7 +313,7 @@ function gameLogic(languageSelection) {
if (response === 'No') { if (response === 'No') {
console.log() console.log()
console.log(messagesList.thanksForPlay[languageSelection]) console.log(messagesList.thanksForPlay[languageSelection].bold.brightYellow)
console.log() console.log()
return return
} }
@@ -296,6 +322,8 @@ function gameLogic(languageSelection) {
}) })
} }
console.clear()
inquirer.prompt({ inquirer.prompt({
name: 'languageSelect', name: 'languageSelect',
@@ -311,7 +339,7 @@ inquirer.prompt({
const languageSelection = answer.languageSelect.toLowerCase() const languageSelection = answer.languageSelect.toLowerCase()
console.log('') console.log('')
console.log(messagesList.welcome[languageSelection]) console.log(messagesList.welcome[languageSelection].bold.brightBlue)
console.log('') console.log('')
gameLogic(languageSelection) gameLogic(languageSelection)

View File

@@ -11,6 +11,7 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"colors": "^1.4.0",
"inquirer": "^8.2.0" "inquirer": "^8.2.0"
} }
} }