Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafios: 3. Crie um sistema de pontuação para um jogo.

Realizei todos os 5 desafios da segunda etapa, mas gostaria de compartilhar especificamente o terceiro, gostaria da opinião de outros devs, meu objetivo é entender como eu poderia tornar meu código mais limpo e inteligente! Obrigado desde já!

// Algoritmo em pseudocódigo natural
// Mensagem de boas-vindas 
// Mensagem informando a regra do jogo
// Primeira pergunta
// Se ele responder corretamente, ele recebe R$ 50 (50 pontos), somado em seus pontos
// Se ele responder incorretamente, ele não ganha nada
// Segunda pergunta
// Se ele responder corretamente, ele recebe R$ 50 (pontos), somado em seus pontos
// Se ele responder incorretamente, ele não ganha nada
// Terceira pergunta
// Se ele responder corretamente, ele recebe R$ 50 (pontos) , somado em seus pontos
// Se ele responder incorretamente, ele não ganha nada
// Se ele finalizar com R$ 100 (pontos) ou mais, mostre "você ganhou"
// Se ele finalizar com mais de R$ 1 (ponto), mostre "você perdeu tudo, tente novamente" e reinicie o jogo
// Se ele finalizar com R$ 0 (ponto), mostre "hoje você não ganhou nada, tente novamente" e reinicie o jogo

let scorePlayer = 0;
alert('Bem-vindo ao jogo do milhão :)');
alert('Regras: Finalize com R$ 100,00 ou mais para ganhar!');

alert('Primeira pergunta! Valendo R$ 50,00');
let primeiraPergunta = prompt('Qual é a capital de São Paulo?')
if (primeiraPergunta === 'São Paulo' ||
    primeiraPergunta === 'Sao Paulo' ||
    primeiraPergunta === 'são paulo' ||
    primeiraPergunta === 'Sao paulo' ||
    primeiraPergunta === 'São paulo' ||
    primeiraPergunta === 'são Paulo' ||
    primeiraPergunta === 'sao paulo' ||
    primeiraPergunta === 'são paulo' ||
    primeiraPergunta === 'SP' ||
    primeiraPergunta === 'Sp' ||
    primeiraPergunta === 'sp' ||
    primeiraPergunta === 's p' ||
    primeiraPergunta === 'S P') {
    scorePlayer = scorePlayer + 50;
    alert('Parabéns, você acertou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
} else {
    alert('Que pena, você errou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
}

alert('Segunda pergunta! Valendo R$ 50,00');
let segundaPergunta = prompt('Qual é a Capital do Rio de Janeiro?')
if (segundaPergunta === 'Rio de Janeiro' ||
    segundaPergunta === 'rio de janeiro' ||
    segundaPergunta === 'Rio De Janeiro' ||
    segundaPergunta === 'rio De janeiro' ||
    segundaPergunta === 'rj' ||
    segundaPergunta === 'RJ' ||
    segundaPergunta === 'Rj' ||
    segundaPergunta === 'r j' ||
    segundaPergunta === 'R J') {
    scorePlayer = scorePlayer + 50;
    alert('Parabéns, você acertou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
} else {
    alert('Que pena, você errou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
}

    alert('Terceira e última pergunta! Valendo R$ 50,00');
let terceiraPergunta = prompt('Qual é a Capital de Belo Horizonte?')
if (terceiraPergunta === 'Belo Horizonte' ||
    terceiraPergunta === 'belo horizonte' ||
    terceiraPergunta === 'Belo horizonte' ||
    terceiraPergunta === 'belo Horizonte' ||
    terceiraPergunta === 'BH' ||
    terceiraPergunta === 'bh' ||
    terceiraPergunta === 'Bh' ||
    terceiraPergunta === 'B H' ||
    terceiraPergunta === 'b h') {
    scorePlayer = scorePlayer + 50;
    alert('Parabéns, você acertou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
} else {
    alert('Que pena, você errou! Seu saldo atual é de R$ ' + scorePlayer + ',00');
}

if (scorePlayer >=100) {
    alert('Isso aí! Hoje você leva para casa R$ ' + scorePlayer + ',00');
} else { if (scorePlayer > 1 ) {
    alert('Você perdeu tudo... Tente novamente!');
} else 
    alert('Hoje você não ganhou nada... Tente novamente!');
    alert('Reiniciando o jogo...');
    location.reload(true);
}
1 resposta
solução!

Seu código funciona, mas dá pra melhorar. Evite repetir as mesmas estruturas deife alert para cada pergunta. Crie uma função única para fazer as perguntas e verificar as respostas. Normalize as respostas (coloque tudo em minúsculas e remova espaços extras) pra evitar ficar checando várias variações. Use um array pra guardar as perguntas e respostas, assim fica mais fácil adicionar ou remover perguntas no futuro. Em vez de recarregar a página pra reiniciar o jogo, use uma função que zera a pontuação e começa de novo. Isso deixa o código mais limpo e fácil de manter.