toda vez que eu inicio o jogo pela primeira vez, ao termino do mesmo, ele duplica o o primeiro resultado.
Não sei ao certo o que está de errado, se alguém puder olhar o código
main.js
var campo = $(".campo-digitacao");
var tempoInicial = $("#tempo-digitacao").text();
$(document).ready(function() {
atualizaFrase();
cronometro();
contadores();
reinicia();
$("#botao-reiniciar").click(reinicia);
correcao();
})
function atualizaFrase() {
var frase = $(".frase").text();
var numPalavras = frase.split(/\S+/).length - 1; da marcação
var tamanhoFrase = $("#tamanho-frase");
tamanhoFrase.text(numPalavras);
}
//---------------------- campo de digitação
function contadores() {
campo.on("input",function(){
var conteudo = campo.val();
var qtdPalavras = conteudo.split(/\S+/).length - 1;
$("#contador-palavras").text(qtdPalavras);
var qtdCaracteres = conteudo.replace(/ /g,'');
var length = qtdCaracteres.length;
$("#contador-caracteres").text(length);
});
}
//--------------------- contagem
function cronometro() {
var tempoRestante = $("#tempo-digitacao").text();
campo.one("focus",function(){
$("#botao-reiniciar").attr("disabled",true);
var intervalId = setInterval(function(){
tempoRestante --;
console.log(tempoRestante);
$("#tempo-digitacao").text(tempoRestante);
if(tempoRestante == 0){
clearInterval(intervalId);
finalizaJogo();
}
},1000);
});
}
function finalizaJogo(){
campo.attr("disabled",true);
$("#botao-reiniciar").attr("disabled",false);
//campo.css("background-color","lightgrey");
campo.addClass("campo-desabilitado");
placar();
}
//--------------------------------- botão reiniciar
//$("#botao-reiniciar").on("click",function(){
//
//});
function reinicia() {
campo.attr("disabled",false);
campo.val("");//zera o campo
$("#contador-caracteres").text(0);
$("#contador-palavras").text(0);
$("#tempo-digitacao").text(0);
$("#tempo-digitacao").text(tempoInicial);
//campo.css("background-color","white");
campo.removeClass("campo-desabilitado");
campo.removeClass("campo-errado");
campo.removeClass("campo-correto");
cronometro();
}
//------------------------------ correção
function correcao(){
var frase = $(".frase").text();
campo.on("input",function(){
var digitado = campo.val();
var comparavel = frase.substr(0 , digitado.length);
if(digitado == comparavel) {
campo.addClass("campo-correto");
campo.removeClass("campo-errado");
} else {
campo.addClass("campo-errado")
campo.removeClass("campo-correto");
}
});
}
//-----------------------placar
function placar() {
var corpoTabela = $(".placar").find("tbody");
var numPalavras = $("#contador-palavras").text();
var usuario = "Alex";
var botaoRemover = "<a><i class='small material-icons icones'>delete</i></a>"
var linha =
"<tr>" +
"<td>" + usuario + "</td>" +
"<td>" + numPalavras + " Palavra(s) </td>" +
"<td>" + botaoRemover + "</td>" +
"</tr>";
corpoTabela.prepend(linha);
}