Option Explicit
Sub Main
Dim nSorte,nQEstrSpia,nMinPresSpia,nQMinEstrSenzaEsitiPrimaDiSpia,nMaxPresInEstrSenzaEsito
Dim nPresSpia,nPresPrecSpia
Dim aNum,aBNum,aNumSpia,aNumPrecSpia,aNumInGioco,nRuota,idEstr,nColpi,aRuote
Dim aRetElementi
Dim nGioc,idForm
Dim sFileFormazione
ReDim aRuote(1)
'======================================================================================
sFileFormazione = "decine"
nRuota = FI_
nColpi = 5
nSorte = 2
nQEstrSpia = 3 ' Quantita estrazioni spia precedenti a quella analizzata
nMinPresSpia = 2 ' quantita di presenze minime nelle estrazioni spia
nQMinEstrSenzaEsitiPrimaDiSpia = 15 ' quantita di estrazioni precedenti a quelle spia nelle quali si ricerca la non presenza dei numeri in gioco
nMaxPresInEstrSenzaEsito = 0 ' quantita massima di presenze dentro il range delle estrazioni precedenti alle estrazioni spia
'======================================================================================
ReDim aPoste(10)
aPoste(nSorte) = 1
aRuote(1) = nRuota
Call GetElementiFormazione(sFileFormazione,aRetElementi)
Scrivi sFileFormazione & " items : " & UBound(aRetElementi)
For idEstr = EstrazioneIni To EstrazioneFin
nGioc =0
For idForm = 1 To UBound(aRetElementi)
Call AlimentaABNumLunghetta(aRetElementi,idForm,aBNum)
nPresSpia = GetQuantitaPresenzeSpia((idEstr - nQEstrSpia) + 1,idEstr,nRuota,aBNum,aNumSpia)
nPresPrecSpia = GetQuantitaPresenzeSpia((idEstr - nQMinEstrSenzaEsitiPrimaDiSpia) + 1,(idEstr - nQEstrSpia),nRuota,aBNum,aNumPrecSpia)
If nPresSpia >= nMinPresSpia Then
If nPresPrecSpia <= nMaxPresInEstrSenzaEsito Then
Call GetArrayNumInGioco(aBNum,aNumSpia,aNumInGioco)
nGioc = nGioc + 1
Call ImpostaGiocata(nGioc,aNumInGioco,aRuote,aPoste,nColpi,nSorte)
End If
End If
Next
If nGioc >0 Then Gioca idEstr
Call AvanzamentoElab(EstrazioneIni ,EstrazioneFin ,idEstr)
If ScriptInterrotto Then Exit For
Next
ScriviResoconto
End Sub
Sub AlimentaABNumLunghetta(aElementi,idForm,aBNum)
Dim k
ReDim aBNum(90)
For k = 1 To UBound(aElementi,2)
aBNum(aElementi(idForm,k)) = True
Next
End Sub
Function GetQuantitaPresenzeSpia(Inizio,Fine,Ruota,aBNum,aRetNum)
Dim k,j,t,aNum
ReDim ab(90)
ReDim aRetNum(0)
For k = Inizio To Fine
Call GetArrayNumeriRuota(k,Ruota,aNum)
For j = 1 To 5
If aBNum(aNum(j)) Then
ab(aNum(j)) = True
t = t + 1
End If
Next
Next
Call ArrayBNumToArrayNum(ab,aRetNum)
GetQuantitaPresenzeSpia = t
End Function
Sub GetArrayNumInGioco(aBNum,aNumSpia,aNumInGioco)
Dim k,i
Dim aBNumSpia
ReDim aNumInGioco(90)
Call ArrayNumToArrayBNum(aNumSpia,aBNumSpia)
For k = 1 To 90
If aBNum(k) Then
If Not aBNumSpia(k) Then
i = i + 1
aNumInGioco(i) = k
End If
End If
Next
ReDim Preserve aNumInGioco(i)
End Sub