let dificuldadeAtual = "medio";
let numeros_sorteados = [];
let quantia_carros = carros_json.length;
let num_sorteado = -1;
let carro_sorteado = "";
let carros_filtrados = [];
let rodada = 0;
let ano_inicio = 1950;
let ano_fim = 2026;
let pontuacao = 0;
const ajusta_nome = {
"montadora": "Montadora",
"modelo": "Modelo",
"ano": "Ano de Fabricação",
"tamanho-motor": "Motorização",
"potencia": "Potência",
"cambio": "Câmbio",
"valvulas": "Válvulas",
"aspiracao": "Aspiração",
"cilindros": "Disposição de Cilindros",
"carroceria": "Carroceria",
"tracao": "Tração",
"codigo-motor": "Código do Motor",
"tipo-veiculo": "Tipo de Veículo",
"peso": "Peso"
};
const mostra_info = {
"facil": ["montadora", "ano", "tamanho-motor", "potencia", "cambio", "valvulas", "aspiracao", "cilindros", "carroceria", "tracao", "codigo-motor", "peso"],
"dificil": ["ano", "potencia", "cambio", "valvulas", "aspiracao", "codigo-motor", "peso"],
"medio": ["ano", "tamanho-motor", "potencia", "cambio", "valvulas", "aspiracao", "cilindros", "tracao", "codigo-motor", "peso"]
}
function mudaDificuldade(dificuldade) {
if (dificuldade != dificuldadeAtual){
dificuldadeAtual = dificuldade;
document.querySelectorAll("button.dificuldade").forEach((botao) => {
botao.classList.remove("selecionado");
})
seletor = "button.dificuldade."+dificuldade;
document.querySelector(seletor).classList.add("selecionado");
}
}
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function novaRodada() {
rodada++;
document.getElementById("resposta").value = "";
document.getElementById("bt-submit").style.display = "block";
document.getElementById("bt-nxt").style.display = "none";
document.getElementById("rodada").innerHTML = "Rodada: "+rodada;
if (numeros_sorteados.length >= quantia_carros){
numeros_sorteados = [];
}
num_sorteado = getRandomInt(0, (quantia_carros - 1));
while (numeros_sorteados.includes(num_sorteado)) {
num_sorteado = getRandomInt(0, (quantia_carros - 1));
}
numeros_sorteados.push(num_sorteado);
carro_sorteado = carros_filtrados[num_sorteado];
Object.keys(carro_sorteado).forEach((item) => {
if (document.getElementById(item)){
if (mostra_info[dificuldadeAtual].includes(item)){
document.getElementById(item).style.display = "block";
document.getElementById(item).innerHTML = ""+ajusta_nome[item]+":
"+carro_sorteado[item];
}else{
document.getElementById(item).style.display = "none";
}
}
})
}
function normalizaPalavra(palavra){
return palavra.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").trim();
}
function ajustaCardLateral() {
document.getElementById("informativo-pontuacao").innerHTML = ""+pontuacao+" Acertos";
switch (dificuldadeAtual){
case "facil":
document.getElementById("informativo-dificuldade").innerHTML = "Fácil";
break;
case "medio":
document.getElementById("informativo-dificuldade").innerHTML = "Médio";
break;
case "dificil":
document.getElementById("informativo-dificuldade").innerHTML = "Difícil";
break;
default:
document.getElementById("informativo-dificuldade").innerHTML = "Erro";
break;
}
document.getElementById("card-info-jogo").style.display = "flex";
document.getElementById("informativo-ano").innerHTML = "Carros de "+ano_inicio+" até "+ano_fim+"";
}
function iniciar() {
let slider = $(".range-ano").data("ionRangeSlider");
ano_inicio = slider.result.from;
ano_fim = slider.result.to;
let nome = document.getElementById("nome").value;
numeros_sorteados = [];
rodada = 0;
pontuacao = 0;
ajustaCardLateral();
carros_filtrados = carros_json.filter(carro => carro.ano >= ano_inicio && carro.ano <= ano_fim);
quantia_carros = carros_filtrados.length;
document.getElementById("painel-seletor").style.display = "none";
document.getElementById("painel-jogo").style.display = "flex";
novaRodada();
}
function enviarResposta() {
let resposta = document.getElementById("resposta").value;
if (normalizaPalavra(resposta).includes(normalizaPalavra(carro_sorteado["modelo"]))){
pontuacao++;
document.getElementById("informativo-pontuacao").innerHTML = ""+pontuacao+" Acertos";
}
document.getElementById("bt-submit").style.display = "none";
document.getElementById("bt-nxt").style.display = "block";
}
function menuInicial() {
document.getElementById("painel-jogo").style.display = "none";
document.getElementById("painel-seletor").style.display = "flex";
document.getElementById("card-info-jogo").style.display = "none";
}