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"; }