From 06385a65abf21ebb14858f0258c1ee2a125c7297 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 20 Feb 2026 08:18:46 +0000 Subject: [PATCH] SALVEI 4 --- core/templates/core/sequential_generator.html | 66 +++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/core/templates/core/sequential_generator.html b/core/templates/core/sequential_generator.html index 1fea7f6..8b035ca 100644 --- a/core/templates/core/sequential_generator.html +++ b/core/templates/core/sequential_generator.html @@ -144,9 +144,14 @@ {% endfor %} - +
+ + +
@@ -305,6 +310,50 @@ const viewport = document.querySelector(".generator-viewport"); const elitePanel = document.getElementById("elite-panel"); + // Novo Algoritmo de Probabilidade de Elite (Busca por Quadra 4+) + function recalculateDeepElite() { + if (!lotteryData || !lotteryData.name.toLowerCase().includes('quina')) return; + + speak("Iniciando Recalibragem Neural de Alta Precisão para o próximo concurso."); + + const allNums = Array.from({length: 80}, (_, i) => i + 1); + const frequency = lotteryData.elite_greens; // Histórico de frequência + const delayed = lotteryData.reclaimed_numbers; // Números em atraso + + // Peso 1: Frequência Harmônica (30% de peso) + // Peso 2: Atraso Crítico (50% de peso - Essencial para o próximo concurso) + // Peso 3: Quadrantes (20% de peso - Equilíbrio) + + let candidates = allNums.map(n => { + let score = 0; + + // Pontua por frequência (Inverso para evitar vício) + const freqIdx = frequency.indexOf(n); + if (freqIdx !== -1) score += (10 - (freqIdx / 8)); + + // Pontua por Atraso (Ouro para o próximo sorteio) + if (delayed.includes(n)) score += 15; + + // Bônus de Quadrante (Distribuição Geométrica) + const quad = Math.ceil(n / 20); + score += 2; + + return { num: n, score: score }; + }); + + // Ordena por maior score de probabilidade + candidates.sort((a, b) => b.score - a.score); + + // Seleciona as 10 dezenas com Convergência Matemática + const top10 = candidates.slice(0, 10).map(c => c.num).sort((a, b) => a - b); + + customEliteNumbers = top10; + fillEliteInputs(top10); + updateElitePanel(); + + speak("Matemática de Elite aplicada. 10 dezenas de ouro selecionadas para busca de Quadra."); + } + lotterySelect.addEventListener("change", async (e) => { const key = e.target.value; if (!key) return; @@ -318,6 +367,8 @@ document.getElementById("col-duque").classList.remove("d-none"); document.getElementById("col-terno").classList.remove("d-none"); document.getElementById("col-sena").classList.add("d-none"); + // Se for quina, aplica a nova matemática automaticamente + setTimeout(recalculateDeepElite, 1000); } else { document.getElementById("col-duque").classList.add("d-none"); document.getElementById("col-terno").classList.add("d-none"); @@ -326,7 +377,9 @@ setupFunnel(lotteryData.max_number); updateElitePanel(); - fillEliteInputs(lotteryData.elite_greens.slice(0, 10)); + if (!key.toLowerCase().includes('quina')) { + fillEliteInputs(lotteryData.elite_greens.slice(0, 10)); + } btnStart.disabled = false; document.getElementById("stats-bar").classList.remove("d-none"); resetGenerator(); @@ -592,6 +645,11 @@ const eliteSwitch = document.getElementById("elite-mode-switch"); const eliteInputs = document.querySelectorAll(".elite-num-input"); const btnApplyElite = document.getElementById("btn-apply-elite"); + const btnRecalculateMath = document.getElementById("btn-recalculate-math"); + + btnRecalculateMath.addEventListener("click", () => { + recalculateDeepElite(); + }); function fillEliteInputs(numbers) { eliteInputs.forEach((input, idx) => {