Option Explicit
'Metodo x SuperEnalotto di stupl
'
http://forum.lottoced.com/forum/lottoced/area-download/2043341-metodo-x-superenalotto#post2043368
Sub Main
Dim ID
ID = CInt(InputBox("Inserire indice mensile ","ID MESE",11))
Dim casi
casi = 00
Dim Ini,fin,es
Ini = EstrazioneFin - 100
fin = EstrazioneFin
For es = Ini To fin
If ScriptInterrotto Then Exit For
Call Messaggio(es)
Call AvanzamentoElab(Ini,fin,es)
If IndiceMensile(es) = ID Then ' SI ELABORA ALLA 11^ ESTRAZIONE MENSILE
casi = casi + 01
Call Scrivi(String(125,"=") & " Caso n° " & Format2(casi),01)
Call Scrivi()
ReDim n1(01),nn(12),n10(01),nn0(12)
' CALCOLO CAPOGIOCO: 1° ESTRATTO DI NA - 3° ESTRATTO DI TO - 5° ESTRATTO DI VE
Dim NA01,TO03,VE05
NA01 = Estratto(es,NA_,01) : TO03 = Estratto(es,TO_,03) : VE05 = Estratto(es,VE_,05)
n1(01) = Fuori90((90 +((90 + NA01) - TO03)) - VE05)' CON PROCEDURA DA METODO
n10(01) = Fuori90(NA01 - TO03 - VE05)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 1: 4° Estratto DI BA x 40 + 68 - 2° Estratto DI MI x 2° Estratto DI GE
Dim BA04,MI02,GE02
BA04 = Estratto(es,BA_,04) : MI02 = Estratto(es,MI_,02) : GE02 = Estratto(es,GE_,02)
nn(01) = Fuori90((((90 +((BA04 * 40)) + 68)) - MI02) * GE02)' CON PROCEDURA DA METODO
nn0(01) = Fuori90((BA04 * 40) + 68 -(MI02 * GE02))' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 2: 1° Estratto DI CA + 2° Estratto DI RO - 1° Estratto DI To
Dim CA01,RO02,TO01
CA01 = Estratto(es,CA_,01) : RO02 = Estratto(es,RO_,02) : TO01 = Estratto(es,TO_,01)
nn(02) = Fuori90((90 +(CA01 + RO02)) - TO01)' CON PROCEDURA DA METODO
nn0(02) = Fuori90((CA01 + RO02) - TO01)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 3: 5° Estratto DI FI + 5° Estratto DI RO + 54
Dim FI05,RO05
FI05 = Estratto(es,FI_,05) : RO05 = Estratto(es,RO_,05)
nn(03) = Fuori90((FI05 + RO05) + 54)' CON PROCEDURA DA METODO
nn0(03) = Fuori90(FI05 + RO05 + 54)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 4: 2° Estratto DI GE + 5° Estratto DI To - 2° Estratto DI To
Dim TO05,TO02
TO05 = Estratto(es,TO_,05) : TO02 = Estratto(es,TO_,02)
nn(04) = Fuori90((90 +(GE02 + TO05)) - TO02)' CON PROCEDURA DA METODO
nn0(04) = Fuori90((GE02 + TO05) - TO02)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 5: 1° Estratto DI MI x 2° Estratto DI RO + 4° Estratto DI NA
Dim MI01,NA04
MI01 = Estratto(es,MI_,01) : NA04 = Estratto(es,NA_,04)
nn(05) = Fuori90((MI01 * RO02) + NA04)' CON PROCEDURA DA METODO
nn0(05) = Fuori90((MI01 * RO02) + NA04)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 6: 1° Estratto DI NA - 5° Estratto DI FI + 50
nn(06) = Fuori90(((90 + NA01) - FI05) + 50)' CON PROCEDURA DA METODO
nn0(06) = Fuori90(NA01 - FI05 + 50)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 7: 3° Estratto DI PA - 4° Estratto DI NA x 7
Dim PA03
PA03 = Estratto(es,PA_,03)
nn(07) = Fuori90((90 +(90 + PA03) - NA04) * 07)' CON PROCEDURA DA METODO
nn0(07) = Fuori90(PA03 -(NA04 * 07))' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 8: 3° Estratto DI RO - 4° Estratto DI BA - 18
Dim RO03
RO03 = Estratto(es,RO_,03)
nn(08) = Fuori90(90 +((90 + RO03) - BA04) - 18)' CON PROCEDURA DA METODO
nn0(08) = Fuori90(RO03 - BA04 - 18)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 9: 1° Estratto DI BA + 2° Estratto DI FI - 3° Estratto DI MI
Dim BA01,FI02,MI03
BA01 = Estratto(es,BA_,01) : FI02 = Estratto(es,FI_,02) : MI03 = Estratto(es,MI_,03)
nn(09) = Fuori90((90 +(BA01 + FI02)) - MI03)' CON PROCEDURA DA METODO
nn0(09) = Fuori90((BA01 + FI02) - MI03)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 10: 4° Estratto DI CA + 1° Estratto DI MI x 5° Estratto DI GE
Dim CA04,GE05
CA04 = Estratto(es,CA_,04) : GE05 = Estratto(es,GE_,05)
nn(10) = Fuori90((CA04 + MI01) * GE05)' CON PROCEDURA DA METODO
nn0(10) = Fuori90(CA04 +(MI01 * GE05))' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 11: 5° Estratto DI FI x 2° Estratto DI To + 4° Estratto DI PA
Dim PA04
PA04 = Estratto(es,PA_,04)
nn(11) = Fuori90((FI05 * TO02) + PA04)' CON PROCEDURA DA METODO
nn0(11) = Fuori90((FI05 * TO02) + PA04)' CON REGOLE MATEMATICHE
'
' ABBINAMENTO 12: 4° Estratto DI GE - 5° Estratto DI BA - 3° Estratto DI CA
Dim GE04,BA05,CA03
GE04 = Estratto(es,GE_,04) : BA05 = Estratto(es,BA_,05) : CA03 = Estratto(es,CA_,03)
nn(12) = Fuori90((90 +((90 + GE04) - BA05)) - CA03)' CON PROCEDURA DA METODO
nn0(12) = Fuori90(GE04 - BA05 - CA03)' CON REGOLE MATEMATICHE
'
'---------------------------------------------------------------------------------------------------------------------------------
'Call OrdinaMatriceTurbo(nn,01)
Rem se 1 o più numeri sono ripetuti si fa il + 1 (formula di Thauk)
Call Scrivi()
Dim rip,x,y
rip = 00
If NumeriRipetuti(nn) Then
If NumeriRipetuti(nn) Then Call Scrivi(" NELLA GIOCATA SONO PRESENTI DEI NUMERI RIPETUTI " & " - " & _
StringaNumeri(nn,,True),01,01,04)
rip = 01
While NumeriRipetuti(nn)
For x = 01 To 11
For y = x + 01 To 12
If nn(x) = nn
Then nn
= Fuori90(nn
+ 01)
Next
Next
Wend
End If
If rip = 01 Then Call Scrivi(" SONO PRESENTI NUMERI RIPETUTI,I NUMERI RIPETUTI VENGONO AUMENTATI DI UNA UNITA ",01,01,03)
Call Scrivi()
Call Scrivi()
Call Scrivi(" Numeri da giocare al Superenalotto per 13 colpi dall' estrazione successiva alla " & _
IndiceMensile(es) & "^ del " & DataEstrazione(es) & " : ",01,01,04)
Call Scrivi(" CON PROCEDURA DA METODO ")
Call Scrivi(" CAPOGIOCO: " & Format2(n1(01)),01,01,06)
Call Scrivi(" NUMERI GIRANTI: " & StringaNumeri(nn,,True),01,01,06)
Dim ESSE
ESSE =(es - 6659)
nn(00) = n1(01)
Dim xlp,xColpi
xColpi = 13
Dim EVP01,EVP02,EVP03,EVP04,EVP05,EVP06
EVP01 = 00:EVP02 = 00:EVP03 = 00:EVP04 = 00:EVP05 = 00:EVP06 = 00
Dim RetEsito,RetColpi,RetEstratti,RetIdEstr
For xlp = 01 To xColpi
If VerificaEsitoSE(nn,ESSE + xlp,AMBATA_,01,RetEsito,RetColpi,RetEstratti,RetIdEstr) = True Then
Dim EV01,EV02,EV03,EV04,EV05,EV06
If RetEsito = "Ambo" Then EV01 = EV01 + 01:EVP01 = EVP01 + 01
If RetEsito = "Terno" Then EV02 = EV02 + 01:EVP02 = EVP02 + 01
If RetEsito = "Quaterna" Then EV03 = EV03 + 01:EVP03 = EVP03 + 01
If RetEsito = "Cinquina" Then EV04 = EV04 + 01:EVP04 = EVP04 + 01
If RetEsito = "5+1" Then EV05 = EV05 + 01:EVP05 = EVP05 + 01
If RetEsito = "Sestina" Then EV06 = EV06 + 01:EVP06 = EVP06 + 01
Call Scrivi(FormatSpace(xlp,02,- 01) & "° colpo " & DataEstrazioneSE(ESSE + xlp) & " Ambata = " & Format2(n1(01)) & _
" ..... " & StringaEstrattiSE(ESSE + xlp) & " --- " & FormatSpace(RetEsito,08,- 01) & " " & RetEstratti)
ElseIf RetEsito = "" And RetColpi < 01 Then
Call Scrivi("Esito in Corso per il " & Format2(xlp) & "° colpo ",01)
Else
Call Scrivi(FormatSpace(xlp,02,- 01) & "° colpo " & DataEstrazioneSE(ESSE + xlp) & " Ambata = " & Format2(n1(01)) & _
" ..... " & StringaEstrattiSE(ESSE + xlp) & " --- " & "negativo ")
End If
If es + xlp > fin Then Exit For
Next
Call Scrivi()
Call Scrivi(" Totale Ambi......." & EVP01 & " ",True,False,04,02,02)
Call Scrivi(" Totale Terni......" & EVP02 & " ",True,False,04,02,02)
Call Scrivi(" Totale Quaterne..." & EVP03 & " ",True,False,07,00,02)
Call Scrivi(" Totale Cinquine..." & EVP04 & " ",True,False,06,00,02)
Call Scrivi(" Totale 5+1........" & EVP05 & " ",True,False,07,00,02)
Call Scrivi(" Totale Sestine...." & EVP06 & " ",True,True,06,00,02)
Call Scrivi()
'---------------------------------------------------------------------------------------------------------------------------------
Call OrdinaMatriceTurbo(nn0,01)
Rem se 1 o più numeri sono ripetuti si fa il + 1 (formula di Thauk)
Call Scrivi()
Dim rip0,x0,y0
rip0 = 00
If NumeriRipetuti(nn0) Then
If NumeriRipetuti(nn0) Then Call Scrivi(" NELLA GIOCATA SONO PRESENTI DEI NUMERI RIPETUTI " & " - " & _
StringaNumeri(nn0,,True),01,01,04)
rip0 = 01
While NumeriRipetuti(nn0)
For x0 = 01 To 11
For y0 = x0 + 01 To 12
If nn0(x0) = nn0(y0) Then nn0(y0) = Fuori90(nn0(y0) + 01)
Next
Next
Wend
End If
If rip0 = 01 Then Call Scrivi(" SONO PRESENTI NUMERI RIPETUTI,I NUMERI RIPETUTI VENGONO AUMENTATI DI UNA UNITA ",01,01,03)
Call Scrivi()
Call Scrivi()
Call Scrivi(" Numeri da giocare al Superenalotto per 13 colpi dall' estrazione successiva alla " & _
IndiceMensile(es) & "^ del " & DataEstrazione(es) & " : ",01,01,04)
Call Scrivi(" CON REGOLE MATEMATICHE ")
Call Scrivi(" CAPOGIOCO: " & Format2(n10(01)),01,01,06)
Call Scrivi(" NUMERI GIRANTI: " & StringaNumeri(nn0,,True),01,01,06)
nn0(00) = n10(01)
Dim EVP010,EVP020,EVP030,EVP040,EVP050,EVP060
EVP010 = 00:EVP020 = 00:EVP030 = 00:EVP040 = 00:EVP050 = 00:EVP060 = 00
Dim RetEsito0,RetColpi0,RetEstratti0,RetIdEstr0
For xlp = 01 To xColpi
If VerificaEsitoSE(nn0,ESSE + xlp,AMBATA_,01,RetEsito0,RetColpi0,RetEstratti0,RetIdEstr0) = True Then
Dim EV010,EV020,EV030,EV040,EV050,EV060
If RetEsito0 = "Ambo" Then EV010 = EV010 + 01:EVP010 = EVP010 + 01
If RetEsito0 = "Terno" Then EV020 = EV020 + 01:EVP020 = EVP020 + 01
If RetEsito0 = "Quaterna" Then EV030 = EV030 + 01:EVP030 = EVP030 + 01
If RetEsito0 = "Cinquina" Then EV040 = EV040 + 01:EVP040 = EVP040 + 01
If RetEsito0 = "5+1" Then EV050 = EV050 + 01:EVP050 = EVP050 + 01
If RetEsito0 = "Sestina" Then EV060 = EV060 + 01:EVP060 = EVP060 + 01
Call Scrivi(FormatSpace(xlp,02,- 01) & "° colpo " & DataEstrazioneSE(ESSE + xlp) & " Ambata = " & Format2(n10(01)) & _
" ..... " & StringaEstrattiSE(ESSE + xlp) & " --- " & FormatSpace(RetEsito0,08,- 01) & " " & RetEstratti0)
ElseIf RetEsito0 = "" And RetColpi0 < 01 Then
Call Scrivi("Esito in Corso per il " & Format2(xlp) & "° colpo ",01)
Else
Call Scrivi(FormatSpace(xlp,02,- 01) & "° colpo " & DataEstrazioneSE(ESSE + xlp) & " Ambata = " & Format2(n10(01)) & _
" ..... " & StringaEstrattiSE(ESSE + xlp) & " --- " & "negativo ")
End If
If es + xlp > fin Then Exit For
Next
Call Scrivi()
Call Scrivi(" Totale Ambi......." & EVP010 & " ",True,False,04,02,02)
Call Scrivi(" Totale Terni......" & EVP020 & " ",True,False,04,02,02)
Call Scrivi(" Totale Quaterne..." & EVP030 & " ",True,False,07,00,02)
Call Scrivi(" Totale Cinquine..." & EVP040 & " ",True,False,06,00,02)
Call Scrivi(" Totale 5+1........" & EVP050 & " ",True,False,07,00,02)
Call Scrivi(" Totale Sestine...." & EVP060 & " ",True,True,06,00,02)
Call Scrivi()
End If
Next
Call Scrivi(String(125,"-"))
Call Scrivi()
Call Scrivi("RIEPILOGO ESITI COMPLESSIVO CON PROCEDURA DA METODO")
Call Scrivi()
Call Scrivi("DUE : " & FormattaStringa(EV01,"00"))
Call Scrivi("TRE : " & FormattaStringa(EV02,"00"))
Call Scrivi("QUATTRO : " & FormattaStringa(EV03,"00"))
Call Scrivi("CINQUE : " & FormattaStringa(EV04,"00"))
Call Scrivi("5 + 1 : " & FormattaStringa(EV05,"00"))
Call Scrivi("SEI : " & FormattaStringa(EV06,"00"))
'-----------------------------------------------------------------
Call Scrivi(String(125,"-"))
Call Scrivi()
Call Scrivi("RIEPILOGO ESITI COMPLESSIVO CON REGOLE MATEMATICHE")
Call Scrivi()
Call Scrivi("DUE : " & FormattaStringa(EV010,"00"))
Call Scrivi("TRE : " & FormattaStringa(EV020,"00"))
Call Scrivi("QUATTRO : " & FormattaStringa(EV030,"00"))
Call Scrivi("CINQUE : " & FormattaStringa(EV040,"00"))
Call Scrivi("5 + 1 : " & FormattaStringa(EV050,"00"))
Call Scrivi("SEI : " & FormattaStringa(EV060,"00"))
End Sub