2
respostas

Dúvida sobre Desafio 1 - Pontuação do usuário

Boa Noite!

let pergunta = "Qual o valor de 8 x 2" let respostCorreta = "16" let respostaDoUsuario = "18"

var pontuacaoDoUsuario = 0

if respostaDoUsuario == respostCorreta { pontuacaoDoUsuario += 1 } else { pontuacaoDoUsuario -= 1 } print("A sua pontuacao é (pontuacaoDoUsuario)")

Quando vou imprimir esse valor na tela, ele só aparece "-1" ou "1", mesmo que eu acerte duas vezes o valor nao soma com o anterior ou nao subtrai. Como faço pr pontuação somar quando acertar ou subtrair quando errar?

2 respostas

Olá Adryann, tudo bem?

No seu código, a pontuação do usuário está sendo atualizada corretamente, mas como só possuí uma verificação e uma questão, ele só vai adicionar/remover apenas uma vez, isso acontece pois o valor da variável pontuacaoDoUsuario fica alocado na memória do programa, então quando ele encerra, o valor é descartado, para resolver esse problema, você pode tentar colocar mais perguntas antes de fazer uma verificação, como por exemplo:

let pergunta = "Qual o valor de 8 x 2"
let respostCorreta = "16"
let respostaDoUsuario = "18"

var pontuacaoDoUsuario = 0

if respostaDoUsuario == respostCorreta {
    pontuacaoDoUsuario += 1
} else {
    pontuacaoDoUsuario -= 1
}

print("A sua pontuação atual é \(pontuacaoDoUsuario)")

// Simula outra pergunta
let pergunta2 = "Qual o valor de 5 + 3"
let respostaCorreta2 = "8"
let respostaDoUsuario2 = "9"

if respostaDoUsuario2 == respostaCorreta2 {
    pontuacaoTotal += 1
} else {
    pontuacaoTotal -= 1
}

print("A sua pontuação total é \(pontuacaoTotal)")

Dessa forma, a pontuação do usuário é usada mais de uma vez e assim será possível sair do -1 ou +1.

Qualquer coisa, estarei à disposição :)

Boa tarde, entendi completamente, muito obrigado Matheus!!!!