Created
September 28, 2014 15:25
-
-
Save valdiney/0fce5db023e75d6a2f6d to your computer and use it in GitHub Desktop.
Refactoring code: Dei uma refatorada em um antigo código em uma noite chata de sábado. Não está ainda 100%, mas tá bem melhor.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function() { | |
"use strict" | |
var _conometro = $(".conometro"), | |
_perguntas = $(".perguntas"), | |
_play = $(".play"), | |
_inputResposta = $("#resposta"), | |
acertos = 0, | |
erros = 0, | |
relatorioErros = [], | |
relatorioAcertos = [], | |
operandoLeft = 10, | |
operandoRight = 10, | |
saida = null, | |
incrementaConometro = 0, | |
stop = 5, | |
estado = true, | |
operando1 = null, | |
operando2 = null, | |
resultadoDosOperandos = null, | |
aviso = null, | |
total = null; | |
//////////////////////////////////////////////////// | |
// Função Play() inicia o Game... | |
/////////////////////////////////////////////////// | |
_play.click( function() { | |
conometro(incrementaConometro, stop); | |
mostraAsPerguntas(estado); | |
gerandoAsPerguntas(2); | |
$(this).fadeOut('slow'); | |
//////////////////////////////////////////////////// | |
// Função buttonResponder() Chama a função que gera | |
// os números Ramdomicos a cada click... | |
/////////////////////////////////////////////////// | |
$('<button type="button" class="btn btn-warning responder">Confirmar</button>').insertAfter('.play'); | |
var buttonResponder = $(".responder"); | |
buttonResponder.click( function() { | |
resultadoDosOperandos = Number(operando1 * operando2); | |
var resposta = Number(_inputResposta.val()); | |
gerandoAsPerguntas(2); | |
if (resposta == resultadoDosOperandos) { | |
acertos += 1; | |
relatorioAcertos.push(saida + " = " + resposta); | |
} | |
else { | |
erros += 1; | |
if (acertos != 0 || erros != 0 && resposta == 0) { | |
resposta = "Pulou"; | |
} | |
relatorioErros.push(saida + " = " + resposta); | |
} | |
document.getElementById('resposta').value = ''; | |
document.getElementById('resposta').focus(); | |
}); | |
//////////////////////////////////////////////////// | |
}); | |
//////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////// | |
// Função gerandoAsPerguntas() Gera todos os números Randomicos... | |
////////////////////////////////////////////////////////////////// | |
function gerandoAsPerguntas(tipoOperacao) { | |
if (tipoOperacao == 1) { | |
operandoLeft = Math.floor(Math.random() * operandoLeft + 0); | |
operandoRight = Math.floor(Math.random() * operandoRight + 0); | |
saida = operandoLeft + " + " + operandoRight; | |
_perguntas.text(saida); | |
} | |
else if (tipoOperacao == 2) { | |
operando1 = Math.floor(Math.random() * operandoLeft + 0), | |
operando2 = Math.floor(Math.random() * operandoRight + 0); | |
saida = operando1 + " x " + operando2 + " = ?"; | |
_perguntas.text(saida); | |
} | |
} | |
//////////////////////////////////////////////////// | |
///////////////////////////////////////////////////////////////////////////////// | |
// Função mostraAsPerguntas() mostra os elementos que apresentam as perguntas... | |
//////////////////////////////////////////////////////////////////////////////// | |
function mostraAsPerguntas(estado) { | |
var classStyle = $(".style"); | |
if (estado == true) { | |
classStyle.fadeIn('slow'); | |
$("#resposta").fadeIn('slow'); | |
} | |
else { | |
classStyle.fadeOut('slow'); | |
$("#resposta").fadeIn('slow'); | |
} | |
} | |
///////////////////////////////////////////////// | |
/////////////////////////////////////////// | |
// Função conometro() cria o conometro... | |
////////////////////////////////////////// | |
function conometro(incrementaConometro) { | |
var dispara = setInterval( function() { | |
incrementaConometro += 1; | |
_conometro.text(incrementaConometro); | |
////////////////////////////////////////////// | |
// Função paraConometro() para o conometro... | |
////////////////////////////////////////////// | |
function paraConometro(dispara) { | |
if (incrementaConometro == stop) { | |
clearInterval(dispara); | |
$(".responder").fadeOut('slow'); | |
$("#resposta").fadeOut('slow'); | |
_perguntas.text(""); | |
mostraOsRelatorios(); | |
} | |
} | |
paraConometro(dispara); | |
}, 1000); | |
} | |
//////////////////////////////////////////////// | |
//////////////////////////////////////////////////// | |
// Função mostraOsRelatorios() mostra as perguntas | |
// erradas e que o usuario pulou e que também são | |
// concideradas erradas... | |
////////////////////////////////////////////////// | |
function mostraOsRelatorios() { | |
if (relatorioErros.length > 0) { | |
for (var cont = 0; cont < relatorioErros.length; cont++) { | |
_perguntas.append("Errado: " + relatorioErros[cont] + "<br>"); | |
} | |
} | |
$('<p class="textExtra"></p>').insertBefore('.perguntas'); | |
aviso = $(".textExtra"); | |
aviso.append("<h3>Fim de jogo:</h3> Vejá abaixo os resultados do seu desempenho."); | |
desempenhoDoJogador(); | |
quantasPerguntasRespondeu(); | |
resetarJogo(); | |
} | |
///////////////////////////////////////////// | |
////////////////////////////////////////////////////////////////////////////////////// | |
// Função desempenhoDoJogador() apresenta o desempenho do jogador ao final do game... | |
////////////////////////////////////////////////////////////////////////////////////// | |
function desempenhoDoJogador() { | |
if (acertos < 1 && erros < 1) { | |
aviso.append("<br> <h3>Ops:</h3> Tem realmente alguém na frente do computador? Pois não respondeu nenhuma pergunta."); | |
} | |
else if (acertos < erros) { | |
aviso.append("<br> <br> Você precisa estudar mais 'Cara de melão'"); | |
} | |
} | |
/////////////////////////////////////////// | |
////////////////////////////////////////////////////////////////////////////////////// | |
// Função quantasPerguntasRespondeu() apresenta quantas perguntas o usuario respondeu | |
// e qunatas acertou e quantas errou... | |
////////////////////////////////////////////////////////////////////////////////////// | |
function quantasPerguntasRespondeu() { | |
var concordancia = " pergunta"; | |
total = erros + acertos; | |
if (total != 0) { | |
if (total > 1) { | |
concordancia = " perguntas"; | |
} | |
if (acertos < 1) { | |
acertos = " nenhuma"; | |
} | |
aviso.append("<br> <hr> Você respondeu " + total + concordancia + ", sendo que errou " + erros + " e acertou " + acertos + "."); | |
} | |
} | |
//////////////////////////////////////// | |
//////////////////////////////////////////////////////////////// | |
// Função resetarJogo() atualiza a página Após click no link... | |
/////////////////////////////////////////////////////////////// | |
function resetarJogo() { | |
$('<a href="index.html" class="btn btn-warning">Resetar o jogo</a>').insertBefore('.responder'); | |
} | |
/////////////////////////////////////// | |
}); // end jquery... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment