1
resposta

As estatísticas não voltam ao clicar na subtração

Encontrei um problema no meu projeto então voltei na aula 5/3 Cálculos dinâmicos. Quando eu clico no + , da Blindagem, por exemplo, acontece o normal, aumenta a Força e o Poder, não faz nada na Energia e diminui a Velocidade. Mas quando eu clico no - para voltar ao que estava, não volta, ao invés disso aumenta o buff e o nerf. Tentei fazer outras funções sem esquecer de alterar noIndex.

//  index.html
<buttom class="controle-ajuste" data-controle="-" data-nerf="blindagem">-</buttom>

//  main.js
desatualizarEstatisticas (evento.target.dataset.nerf)

function desatualizarEstatisticas (nerf) {
    estatistica.forEach ((elemento) => {
        elemento.textContent = parseInt (elemento.textContent) - pecas [nerf] [elemento.dataset.estatisticas]
    })

Isso não resolveu então dei uma olha no vídeo e acontece o mesmo no projeto do professor Pedro. Acho que ele não percebeu.

Como eu faço para a subtração funcionar?

1 resposta

Olá Marcelo, tudo bem?

Peço desculpas pela demora em obter um retorno

Quanto a não implementação em aula sobre a subtração dos valores das estatísticas, nossa equipe de conteúdo irá verificar sobre essa questão.

Por hora podemos contornar do seguinte modo:

function atualizaEstatistica(peca, operacao) {
  if(operacao === "+") {
    estatistica.forEach( (elemento) => {
      elemento.textContent = parseInt(elemento.textContent) + pecas[peca][elemento.dataset.estatistica];
    })
  } else {
    estatistica.forEach( (elemento) => {
      elemento.textContent = parseInt(elemento.textContent) - pecas[peca][elemento.dataset.estatistica];
    })
  }
}    

Mas em suma na função atualizaEstatistica , devemos adicionar o parâmetro da operação e um if no qual compara se o valor da operação é igual(==) ao valor mais(+) e seguirmos normalmente com o código antes já elaborado pelo professor, mas caso não seja o “+” só pode ser o - ou seja executamos o else no qual pega o elemento e utlizamos da operação de (-) para subtrai das estáticas.

Este código é um exemplo e pode não se aplicar da melhor forma ao seu código. Caso tenha dificuldades em adaptá-lo, fique à vontade para retornar e me perguntar novamente. Estou à disposição para ajudá-lo.

Sucesso

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!