SALVEI 4
This commit is contained in:
parent
0a80d2023d
commit
06385a65ab
@ -144,9 +144,14 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<button id="btn-apply-elite" class="btn btn-warning btn-sm w-100 mt-3 fw-bold rounded-pill shadow-sm">
|
||||
<i class="bi bi-check-circle-fill"></i> CALCULAR COM ESTES NÚMEROS
|
||||
</button>
|
||||
<div class="d-flex gap-2 mt-3">
|
||||
<button id="btn-recalculate-math" class="btn btn-outline-warning btn-sm flex-grow-1 fw-bold rounded-pill">
|
||||
<i class="bi bi-calculator-fill"></i> RECALIBRAR MATEMÁTICA
|
||||
</button>
|
||||
<button id="btn-apply-elite" class="btn btn-warning btn-sm flex-grow-1 fw-bold rounded-pill shadow-sm">
|
||||
<i class="bi bi-check-circle-fill"></i> ATIVAR ESTES NÚMEROS
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -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) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user