1
resposta

[Projeto] Quiz

Por enquanto finalizei o desafio 1, o 2 ainda vou fazer! ;)

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

console.log('Bem-vindo(a) ao Quiz de JavaScript!');
console.log('Responda com a letra correta: a, b ou c\n');

let acertos = 0;

rl.question('1) Qual palavra usamos para criar uma função?\n(a) define\n(b) function\n(c) create\n> ', (resposta1) => {
    if (resposta1 === 'b') {
        acertos++;
    }

    rl.question('2) Qual dessas é uma estrutura de repetição?\n(a) loopar\n(b) repeat\n(c) for\n> ', (resposta2) => {
        if (resposta2 === 'c') {
            acertos++;
        }

        rl.question('3) Qual valor é considerado falsy em JavaScript?\n(a) 1\n(b) 0\n(c) "texto"\n> ', (resposta3) => {
            if (resposta3 === 'b') {
                acertos++;
            }

            console.log(`Seu total de acertos foi ${acertos}`)
            if (acertos == 3) {
                console.log('Parabéns!')
            } else if (acertos == 2) {
                console.log('Muito bom! Continue assim!')
            } else {
                console.log('Continue praticando.')
            }
            rl.close();
        });
    });
});
1 resposta

Olá, Isabella! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de condicionais para validar respostas, utilizou muito bem o readline para interação com o usuário e ainda compreendeu a importância do controle de fluxo para organizar a lógica do quiz.

Uma dica interessante para o futuro é aplicar arrays para armazenar perguntas e respostas, tornando o código mais enxuto e escalável. Assim:

const perguntas = [
  { questao: 'Qual palavra usamos para criar uma função?', opcoes: ['define','function','create'], correta: 'b' },
  { questao: 'Qual dessas é uma estrutura de repetição?', opcoes: ['loopar','repeat','for'], correta: 'c' },
  { questao: 'Qual valor é considerado falsy em JavaScript?', opcoes: ['1','0','"texto"'], correta: 'b' }
];

Isso faz com que seja possível percorrer dinamicamente as perguntas e reduzir repetições no código.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!