1
resposta

Meu código não atualiza a força, nem a energia e nem a velocidade

const controle = document.querySelectorAll("[data-controle]")
const estatistica = 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.addEventListener("click", (evento) => {
        manipulaDados(evento.target.dataset.controle, evento.target.parentNode)
        atualizaEstatisticas(evento.target.dataset.peca, evento.target.dataset.controle)
    })
})

function manipulaDados(operacao, controle){
    const peca = controle.querySelector(".controle-contador")

    if(operacao === "-"){
        peca.value = parseInt(peca.value) - 1
    } else {
        peca.value = parseInt(peca.value) + 1
    }
}

function atualizaEstatisticas (peca, operacao) {
    estatistica.forEach((elemento)=>{
        const estatisticaAtual = parseInt(elemento.textContent);
        const somaEstatistica = estatisticaAtual + pecas[peca][elemento.dataset.estatistica];
        const subtraiEstatistica = estatisticaAtual - pecas[peca][elemento.dataset.estatistica];

        if(operacao==="-"){
            if(subtraiEstatistica>=0){
                elemento.textContent=subtraiEstatistica;
            }
        } else if(operacao==="+"){
            if(somaEstatistica>=0){
                elemento.textContent = somaEstatistica;
            }
        }
    })
}
1 resposta

Olá Caio! Tudo bem?

Analisando e testando o código compartilhado parece estar tudo certo, o problema pode se encontrar em outra área do projeto. Por conta disso, peço que por gentileza compartilhe o link do seu projeto completo, dessa forma posso analisar o seu código na totalidade e simular o problema para ajudá-lo de forma mais assertiva.

Você pode compartilhar o link do seu projeto via Github ou upado no Drive.

Fico à disposição.

Desejo um bom dia e bons estudos.