From 81b268e90dea048d392b82185c5cb83212eeb4ed Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 20 Feb 2026 04:52:36 +0000 Subject: [PATCH] =?UTF-8?q?RECUPERE=20O=20SISTEMA=20PARA=20N=C3=83O=20CALC?= =?UTF-8?q?ULAR=20ACERTOS=20COM=20N?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/templates/core/sequential_generator.html | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/core/templates/core/sequential_generator.html b/core/templates/core/sequential_generator.html index c4eec2e..d7e74d3 100644 --- a/core/templates/core/sequential_generator.html +++ b/core/templates/core/sequential_generator.html @@ -356,6 +356,21 @@ } } + // Filtra sequências longas (Permite no máx 2 números consecutivos) + function hasForbiddenSequence(numbers) { + const sorted = [...numbers].sort((a, b) => a - b); + let currentSeq = 1; + for (let i = 1; i < sorted.length; i++) { + if (sorted[i] === sorted[i - 1] + 1) { + currentSeq++; + if (currentSeq > 2) return true; // Bloqueia 3 ou mais + } else { + currentSeq = 1; + } + } + return false; + } + function generateChunk() { if (!generatorRunning) return; @@ -366,15 +381,24 @@ let sequence = []; let safetyCounter = 0; - while (sequence.length < nToDraw && safetyCounter < 500) { + // Tenta gerar uma sequência válida + while (sequence.length < nToDraw && safetyCounter < 1000) { + // Incremento dinâmico para evitar padrões lineares puros + let step = Math.floor(Math.random() * 3) + 1; let val = ((currentStartNum - 1) % maxNum) + 1; - currentStartNum++; + currentStartNum += step; + safetyCounter++; if (annulledFunnel.has(val)) continue; - sequence.push(val); + if (!sequence.includes(val)) sequence.push(val); } if (sequence.length === nToDraw) { + // Validação de Sequência Real (Máx 2 consecutivos) + if (hasForbiddenSequence(sequence)) { + continue; // Descarta e tenta a próxima no próximo loop + } + const hits = sequence.filter(n => lotteryData.elite_greens.includes(n)).length; if (hits >= 4) { let type = hits === 4 ? "QUADRA" : (hits === 5 ? "QUINA" : "SENA");