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

Update com a subtração das estatísticas

Como o projeto final apenas somar os atributos adicionados de braços, pernas e etc, mas não subtrai, fiz a subtração utilizando a mesma lógica da função "manipulaDados"

const controle = document.querySelectorAll("[data-controle]"); const stats = document.querySelectorAll("[data-estatistica"); const pecas = { "bracos": { "forca": 29, "poder": 35, "energia": -21, "velocidade": -5 },

"blindagem": {
    "forca": 41,
    "poder": 20,
    "energia": 0,
    "velocidade": -20
},
"nucleos":{
    "forca": 0,
    "poder": 7,
    "energia": 48,
    "velocidade": -24
},
"pernas":{
    "forca": 27,
    "poder": 21,
    "energia": -32,
    "velocidade": 42
},
"foguetes":{
    "forca": 0,
    "poder": 28,
    "energia": 0,
    "velocidade": -2
}

}

controle.forEach ((elemento) => { //"Elemento" não é uma palavra reservada, mas sim uma variável elemento.onclick = (evento) => { manDados(evento.target.dataset.controle, evento.target.parentNode); atualizaStatus(evento.target.dataset.peca, evento.target.dataset.controle); } })

function manDados (operação, controle) { const peca = controle.querySelector("[data-contador]"); if(operação === "+"){ peca.value = parseInt(peca.value) + 1; }else { peca.value = parseInt(peca.value) - 1; } }

function atualizaStatus (x, y) { stats.forEach((estatistica) => { if(y === "+"){ estatistica.textContent = parseInt(estatistica.textContent) + pecas[x][estatistica.dataset.estatistica] }else { estatistica.textContent = parseInt(estatistica.textContent) - pecas[x][estatistica.dataset.estatistica] } }) }

1 resposta
solução!

Olá Rafael! Tudo bem?

O código parece estar implementando corretamente a lógica de adição e subtração de atributos ao atualizar as estatísticas com base nas peças selecionadas.

Muito obrigada por compartilhar com a gente :D

Continue os bons estudos.

Um abraço.