Olá, estou fazendo um projeto de placar do jogo RUMMIKUB baseado em um dos projetos da Alura da Imersão_Dev, e estou com um bug que não sei como arrumar.
- tenho um input onde coloco a pontuação de cada jogador;
- essa pontuação deve ser somada a cada novo input que eu colocar na coluna Total;
O bug está quando eu clico em OK no input quando ele está vazio, zera toda a pontuação e fica um NaN no lugar... ![]( ) Gostaria de um help nesse código, por favor:
var listaDeJogadores = [];
var elementoTabela = document.getElementById('tabelaJogadores');
function exibirNaTela() {
elementoTabela.innerHTML = "";
listaDeJogadores.forEach((jogador, index) => {
elementoTabela.innerHTML += `
<tr>
<td>${jogador.nome}</td>
<td>${jogador.vitoria}</td>
<td><input id="quantidade" type="number" placeholder="100" class="input__jogador">
<button onClick="adicionarValor(${index})">OK</button></td>
<td>${jogador.pontos}</td>
<td><button onClick="adicionarVitoria(${index})">Vitória</button></td>
<td><button onClick="limparPontuacaoJogador(${index})">Limpar pontos</button></td>
<td><button onClick="removerJogador(${index})">Remover jogador</button></td>
</tr>
`;
});
}
function criarJogador() {
//verificar se player ja existe ou não
var nomeNovoJogador = document.getElementById("campoNomeJogador").value;
if(nomeNovoJogador == '') {
alert('Informe o nome do Jogador');
return;
}
listaDeJogadores.push({
nome: nomeNovoJogador,
vitoria: 0,
pontos: 0
});
document.getElementById("campoNomeJogador").value = "";
exibirNaTela();
}
function adicionarVitoria(index) {
listaDeJogadores[index].vitoria++;
exibirNaTela();
}
function adicionarValor(index) {
let quantidade = parseInt(document.getElementById('quantidade').value);
listaDeJogadores[index].pontos = listaDeJogadores[index].pontos + quantidade;
if (quantidade == '') {
alert("informe pontuação");
return;
}
exibirNaTela();
}
function limparPontuacaoJogador(index) {
listaDeJogadores[index].vitoria = 0;
listaDeJogadores[index].pontos = 0;
exibirNaTela();
}
function removerJogador(index) {
listaDeJogadores.splice(index, 1);
exibirNaTela();
}
function apagarJogadores() {
listaDeJogadores = [];
exibirNaTela();
}