Novità

RISCHIETA SCRIPT X SPAZIOMETRIA

Dragon zf

Member
Provando a prendere in considerazione anche il numero non isotopo e con tutte le figure.Grazie.
 

Allegati

  • Snapshot_26-06-29_01-59-15 (1).png
    Snapshot_26-06-29_01-59-15 (1).png
    182,5 KB · Visite: 32
Sub Main()
Dim number(3), r1, r2, p1, p2, p3, p4, p5, n
Dim a, b, c, d, e
Dim ruote(12), poste(2)

poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)

' Inizializzazione array ruote
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

' Ciclo posizioni per r1
For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n, r1, p1)
b = Estratto(n, r1, p2)

' Ciclo posizioni per r2
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n, r2, p3)
d = Estratto(n, r2, p4)
e = Estratto(n, r2, p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 And (e = a Or e = b) Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d ' Il diametrale del diametrale di d è d stesso

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5, 1)
MatrCasella(1, 0) = r1 : MatrCasella(1, 1) = p1
MatrCasella(2, 0) = r1 : MatrCasella(2, 1) = p2
MatrCasella(3, 0) = r2 : MatrCasella(3, 1) = p3
MatrCasella(4, 0) = r2 : MatrCasella(4, 1) = p4
MatrCasella(5, 0) = r2 : MatrCasella(5, 1) = p5
Call DisegnaEstrazione(n, MatrCasella, , vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata, i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1, r1, i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1, 1)
MatrCasella2(1, 0) = r1
MatrCasella2(1, 1) = posTrovata
Call DisegnaEstrazione(n + 1, MatrCasella2, , vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40, "-")

' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1, number, ruote, poste, 10, 2
Gioca n, 1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next ' n

End Sub
 
Ultima modifica:
Sub Main()
Dim number(3), r1, r2, p1, p2, p3, p4, p5, n
Dim a, b, c, d, e
Dim ruote(12), poste(2)

poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)

' Inizializzazione array ruote
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

' Ciclo posizioni per r1
For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n, r1, p1)
b = Estratto(n, r1, p2)

' Ciclo posizioni per r2
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n, r2, p3)
d = Estratto(n, r2, p4)
e = Estratto(n, r2, p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 And (e = a Or e = b) Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d ' Il diametrale del diametrale di d è d stesso

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5, 1)
MatrCasella(1, 0) = r1 : MatrCasella(1, 1) = p1
MatrCasella(2, 0) = r1 : MatrCasella(2, 1) = p2
MatrCasella(3, 0) = r2 : MatrCasella(3, 1) = p3
MatrCasella(4, 0) = r2 : MatrCasella(4, 1) = p4
MatrCasella(5, 0) = r2 : MatrCasella(5, 1) = p5
Call DisegnaEstrazione(n, MatrCasella, , vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata, i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1, r1, i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1, 1)
MatrCasella2(1, 0) = r1
MatrCasella2(1, 1) = posTrovata
Call DisegnaEstrazione(n + 1, MatrCasella2, , vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40, "-")

' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1, number, ruote, poste, 10, 2
Gioca n, 1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next ' n

End Sub
Escono solo 2 previsioni che includono solo lo stesso numero isotopo ,dovresti provare a includere lo stesso numero non isotopo.Grazie.
 
Sub Main()
Dim number(3),r1,r2,p1,p2,p3,p4,p5,n
Dim a,b,c,d,e
Dim ruote(12),poste(2)

poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)

' Inizializzazione array ruote
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

' Ciclo posizioni per r1
For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)

' Ciclo posizioni per r2
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r2,p3)
d = Estratto(n,r2,p4)
e = Estratto(n,r2,p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 And (e = a Or e = b Or a=c Or a=d Or b=c Or b=d) Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d ' Il diametrale del diametrale di d è d stesso

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5,1)
MatrCasella(1,0) = r1 : MatrCasella(1,1) = p1
MatrCasella(2,0) = r1 : MatrCasella(2,1) = p2
MatrCasella(3,0) = r2 : MatrCasella(3,1) = p3
MatrCasella(4,0) = r2 : MatrCasella(4,1) = p4
MatrCasella(5,0) = r2 : MatrCasella(5,1) = p5
Call DisegnaEstrazione(n,MatrCasella,,vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata,i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1,r1,i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1,1)
MatrCasella2(1,0) = r1
MatrCasella2(1,1) = posTrovata
Call DisegnaEstrazione(n + 1,MatrCasella2,,vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40,"-")

' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1,number,ruote,poste,10,2
Gioca n,1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next ' n

End Sub
 
Sub Main()
Dim number(3),r1,r2,p1,p2,p3,p4,p5,n
Dim a,b,c,d,e
Dim ruote(12),poste(2)

poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)

' Inizializzazione array ruote
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

' Ciclo posizioni per r1
For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)

' Ciclo posizioni per r2
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r2,p3)
d = Estratto(n,r2,p4)
e = Estratto(n,r2,p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 And (e = a Or e = b Or a=c Or a=d Or b=c Or b=d) Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d ' Il diametrale del diametrale di d è d stesso

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5,1)
MatrCasella(1,0) = r1 : MatrCasella(1,1) = p1
MatrCasella(2,0) = r1 : MatrCasella(2,1) = p2
MatrCasella(3,0) = r2 : MatrCasella(3,1) = p3
MatrCasella(4,0) = r2 : MatrCasella(4,1) = p4
MatrCasella(5,0) = r2 : MatrCasella(5,1) = p5
Call DisegnaEstrazione(n,MatrCasella,,vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata,i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1,r1,i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1,1)
MatrCasella2(1,0) = r1
MatrCasella2(1,1) = posTrovata
Call DisegnaEstrazione(n + 1,MatrCasella2,,vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40,"-")

' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1,number,ruote,poste,10,2
Gioca n,1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next ' n

End Sub
Grazie,se hai tempo puoi dare uno sguardo a un altro metodo che ho postato.
 
E' questo il nuovo ,ovviamente non solo la figura 3 ma tutte le figure da cercare.
Sub Main()
Dim number(3),r1,r2,p1,p2,p3,p4,p5,n,r3,m(5)
Dim a,b,c,d,e
Dim ruote(12),poste(2)
poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r2,p2)


For r3 = r2 + 1 To 12
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r3,p3)
d = Estratto(n,r3,p4)
e = Estratto(n,r3,p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 3 And Figura(b) = 3 And Figura(c) = 3 And Figura(d) = 3 And Figura(e) = 3 Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 18)
number(3) = Differenza(number(1),18)

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5,1)
MatrCasella(1,0) = r1 : MatrCasella(1,1) = p1
MatrCasella(2,0) = r2 : MatrCasella(2,1) = p2
MatrCasella(3,0) = r3 : MatrCasella(3,1) = p3
MatrCasella(4,0) = r3 : MatrCasella(4,1) = p4
MatrCasella(5,0) = r3 : MatrCasella(5,1) = p5
Call DisegnaEstrazione(n,MatrCasella,,vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata,i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1,r1,i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1,1)
MatrCasella2(1,0) = r1
MatrCasella2(1,1) = posTrovata
Call DisegnaEstrazione(n + 1,MatrCasella2,,vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40,"-")
m(1) = a:m(3) = c:m(4) = d:m(5) = e
DisegnaCerchioCiclometrico m
' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1,number,ruote,poste,10,2
Gioca n,1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next

Next ' n

End Sub













se il cerchio rallenta lo script lo levo
 
Sub Main()
Dim number(3),r1,r2,p1,p2,p3,p4,p5,n,r3,m(5)
Dim a,b,c,d,e
Dim ruote(12),poste(2)
poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)
For i = 1 To 12
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10780 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r2,p2)


For r3 = r2 + 1 To 12
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r3,p3)
d = Estratto(n,r3,p4)
e = Estratto(n,r3,p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 3 And Figura(b) = 3 And Figura(c) = 3 And Figura(d) = 3 And Figura(e) = 3 Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 18)
number(3) = Differenza(number(1),18)

Scrivi "Rilevato su " & NomeRuota(r1) & " e " & NomeRuota(r2) & " il " & DataEstrazione(n)
Scrivi "Ambata calcolata: " & Diametrale(number(1))

' Disegna la condizione rilevata (color blu)
ReDim MatrCasella(5,1)
MatrCasella(1,0) = r1 : MatrCasella(1,1) = p1
MatrCasella(2,0) = r2 : MatrCasella(2,1) = p2
MatrCasella(3,0) = r3 : MatrCasella(3,1) = p3
MatrCasella(4,0) = r3 : MatrCasella(4,1) = p4
MatrCasella(5,0) = r3 : MatrCasella(5,1) = p5
Call DisegnaEstrazione(n,MatrCasella,,vbBlue)

' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata,i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1,r1,i) = number(1) Then
posTrovata = i
End If
Next

' Evidenziazione dell'esito immediato
If posTrovata > 0 Then
Scrivi "Numero " & number(1) & " trovato su " & NomeRuota(r1) & " in posizione " & posTrovata
ReDim MatrCasella2(1,1)
MatrCasella2(1,0) = r1
MatrCasella2(1,1) = posTrovata
Call DisegnaEstrazione(n + 1,MatrCasella2,,vbRed)
Else
Scrivi "Il numero " & Diametrale(number(1)) & " non è uscito su " & NomeRuota(r1) & " al colpo successivo."
End If

Scrivi String(40,"-")
m(1) = a:m(3) = c:m(4) = d:m(5) = e
DisegnaCerchioCiclometrico m
' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1,number,ruote,poste,10,2
Gioca n,1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next

Next ' n

End Sub













se il cerchio rallenta lo script lo levo
RALLENTA DI MOLTO SI IMPALLA
 
SE HAI TEMPO FAI PURE QUESTI E NE HO MOLTISSIMI ALTRI ....
 

Allegati

  • Snapshot_26-06-29_01-06-05 (1).png
    Snapshot_26-06-29_01-06-05 (1).png
    203,6 KB · Visite: 6
  • Snapshot_26-06-28_02-27-18 (1).png
    Snapshot_26-06-28_02-27-18 (1).png
    202,2 KB · Visite: 8
PER IL PRIMO METODO FAI LA RICERCA SOLO SU RUOTE CONSIDERATE E NE' NAZIONALE E TUTTE PRENDENDO TUTTE LE FIGURE,MENTRE INVECE PER IL SECONDO LO STESSO PRENDENDO TUTTE LE FIGURE E UN'ESTRAZIONE DI RICERCA A RITROSO PER LA CONDIZIONE E ANCHE PRENDENDO IN CONSIDERAZIONE LA'MBO NON ISOTOPO IN FIGURA ,OVVIAMENTE SOLO RUOTE CONSIDERATE.
 
Alleggerito senza cerchio e quadro estrazionale

Sub Main()
Dim number(3),r1,r2,p1,p2,p3,p4,p5,n,r3,m(5)
Dim a,b,c,d,e
Dim ruote(3),poste(2)
poste(1)=1
poste(2) = 2 ' Posta per estratto/ambo (a seconda di come vuoi impostarla)

For i = 1 To 3
ruote(i) = i
Next

' Ciclo estrazioni
For n = 10787 To EstrazioneFin
' Ciclo ruote r1
For r1 = 1 To 11
' Ciclo ruote r2
For r2 = r1 + 1 To 12 ' Ottimizzato: evita di controllare coppie doppie (es. 1-2 e 2-1)

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r2,p2)


For r3 = r2 + 1 To 12
For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r3,p3)
d = Estratto(n,r3,p4)
e = Estratto(n,r3,p5)

' Verifica condizioni: tutti in figura 8 ed e uguale ad a oppure a b
If Figura(a) = 3 And Figura(b) = 3 And Figura(c) = 3 And Figura(d) = 3 And Figura(e) = 3 Then

' Calcolo dei numeri da giocare
number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 18)
number(3) = Differenza(number(1),18)



' Ricerca dinamica del numero nell'estrazione successiva (n+1) sulla ruota r1
Dim posTrovata,i
posTrovata = 0
For i = 1 To 5
If Estratto(n + 1,r1,i) = number(1) Then
posTrovata = i
End If
Next


Scrivi String(40,"-")

' Imposta e lancia la giocata sul tabellone di Spaziometria
ImpostaGiocata 1,number,ruote,poste,10,1
Gioca n,1 ' Mostra il registro giocate nel report complessivo

End If
Next ' p5
Next ' p4
Next ' p3

Next ' p2
Next ' p1

Next ' r2
Next ' r1
Next

Next ' n

End Sub
 
Modifica con scelta figura



Sub Main()
Dim n,aOpt(9),sceltaFig,k

' Menu di selezione della Figura
For k = 1 To 9
aOpt(k) = "Figura " & k
Next
sceltaFig = ScegliOpzioneMenu(aOpt,8,"Seleziona la Figura da ricercare:")
If sceltaFig <= 0 Then Exit Sub

' Ciclo principale Estrazioni
For n = 10780 To EstrazioneFin

' In base alla scelta, chiama la procedura con le SUE ruote e i SUOI numeri
Select Case sceltaFig
Case 1 : Call ElaboraFigura1(n)
Case 2 : Call ElaboraFigura2(n)
Case 3 : Call ElaboraFigura3(n)
Case 8 : Call ElaboraFigura8(n)
' ecc...
End Select

Next ' n
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 3 (3 Ruote)
' ==========================================
Sub ElaboraFigura3(n)
Dim r1,r2,r3,p1,p2,p3,p4,p5
Dim a,b,c,d,e
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 11
If r1 = 11 Then r1 = 12
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12
For r3 = r2 + 1 To 11
If r3 = 11 Then r3 = 12

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r2,p2)

For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r3,p3)
d = Estratto(n,r3,p4)
e = Estratto(n,r3,p5)

If Figura(a) = 3 And Figura(b) = 3 And _
Figura(c) = 3 And Figura(d) = 3 And Figura(e) = 3 Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 18)
number(3) = Differenza(number(1),18)

Call Scrivi("Estrazione " & n & " [FIG 3] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2) & "-" & NomeRuota(r3))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If
Next
Next
Next
Next
Next
Next
Next
Next
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 8 (2 Ruote, diverse condizioni)
' ==========================================
Sub ElaboraFigura8(n)
Dim r1,r2,p1,p2
Dim a,b,c,d,e
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 10
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)
c = Estratto(n,r2,p1)
d = Estratto(n,r2,p2)
e = Estratto(n,r2,5)

If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 Then
If(e = a Or e = b Or a = c Or a = d Or b = c Or b = d) Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d

Call Scrivi("Estrazione " & n & " [FIG 8] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If
End If
Next
Next
Next
Next
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 2 (2 Ruote, diverse condizioni)
' ==========================================
Sub ElaboraFigura2(n)
Dim r1,r2,p1,p2,p3,p4
Dim a,b,c,d
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 11
If r1 = 11 Then r1 = 12
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12


For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)

For p3 = 1 To 3
For p4 = p3 + 1 To 4

c = Estratto(n,r2,p3)
d = Estratto(n,r2,p4)

If Figura(a) = 2 And Figura(b) = 2 And _
Figura(c) = 2 And Figura(d) = 2 Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 27)
number(3) = Differenza(number(1),27)

Call Scrivi("Estrazione " & n & " [FIG 3] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2) & "-" & NomeRuota(r3))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If


Next
Next
Next
Next
Next
Next
End Sub
 
Modifica con scelta figura



Sub Main()
Dim n,aOpt(9),sceltaFig,k

' Menu di selezione della Figura
For k = 1 To 9
aOpt(k) = "Figura " & k
Next
sceltaFig = ScegliOpzioneMenu(aOpt,8,"Seleziona la Figura da ricercare:")
If sceltaFig <= 0 Then Exit Sub

' Ciclo principale Estrazioni
For n = 10780 To EstrazioneFin

' In base alla scelta, chiama la procedura con le SUE ruote e i SUOI numeri
Select Case sceltaFig
Case 1 : Call ElaboraFigura1(n)
Case 2 : Call ElaboraFigura2(n)
Case 3 : Call ElaboraFigura3(n)
Case 8 : Call ElaboraFigura8(n)
' ecc...
End Select

Next ' n
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 3 (3 Ruote)
' ==========================================
Sub ElaboraFigura3(n)
Dim r1,r2,r3,p1,p2,p3,p4,p5
Dim a,b,c,d,e
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 11
If r1 = 11 Then r1 = 12
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12
For r3 = r2 + 1 To 11
If r3 = 11 Then r3 = 12

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r2,p2)

For p3 = 1 To 3
For p4 = p3 + 1 To 4
For p5 = p4 + 1 To 5
c = Estratto(n,r3,p3)
d = Estratto(n,r3,p4)
e = Estratto(n,r3,p5)

If Figura(a) = 3 And Figura(b) = 3 And _
Figura(c) = 3 And Figura(d) = 3 And Figura(e) = 3 Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 18)
number(3) = Differenza(number(1),18)

Call Scrivi("Estrazione " & n & " [FIG 3] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2) & "-" & NomeRuota(r3))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If
Next
Next
Next
Next
Next
Next
Next
Next
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 8 (2 Ruote, diverse condizioni)
' ==========================================
Sub ElaboraFigura8(n)
Dim r1,r2,p1,p2
Dim a,b,c,d,e
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 10
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12

For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)
c = Estratto(n,r2,p1)
d = Estratto(n,r2,p2)
e = Estratto(n,r2,5)

If Figura(a) = 8 And Figura(b) = 8 And Figura(c) = 8 And Figura(d) = 8 Then
If(e = a Or e = b Or a = c Or a = d Or b = c Or b = d) Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Diametrale(d)
number(3) = d

Call Scrivi("Estrazione " & n & " [FIG 8] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If
End If
Next
Next
Next
Next
End Sub

' ==========================================
' LOGICA SPECIFICA FIGURA 2 (2 Ruote, diverse condizioni)
' ==========================================
Sub ElaboraFigura2(n)
Dim r1,r2,p1,p2,p3,p4
Dim a,b,c,d
Dim number(3),ruote(2),poste(2)
poste(2) = 1

For r1 = 1 To 11
If r1 = 11 Then r1 = 12
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12


For p1 = 1 To 4
For p2 = p1 + 1 To 5
a = Estratto(n,r1,p1)
b = Estratto(n,r1,p2)

For p3 = 1 To 3
For p4 = p3 + 1 To 4

c = Estratto(n,r2,p3)
d = Estratto(n,r2,p4)

If Figura(a) = 2 And Figura(b) = 2 And _
Figura(c) = 2 And Figura(d) = 2 Then

ruote(1) = r1
ruote(2) = r2

number(1) = Vert(Diametrale(d))
number(2) = Fuori90(number(1) + 27)
number(3) = Differenza(number(1),27)

Call Scrivi("Estrazione " & n & " [FIG 3] - Ruote: " & NomeRuota(r1) & "-" & NomeRuota(r2) & "-" & NomeRuota(r3))
Call ImpostaGiocata(1,number,ruote,poste,10,2)
Call Gioca(n,1)
End If


Next
Next
Next
Next
Next
Next
End Sub
Questo e' la soluzione migliore pero' alla figura 1 mi da' questo errore .Come rimediare?
 

Allegati

  • Snapshot_26-07-21_14-15-50.png
    Snapshot_26-07-21_14-15-50.png
    105,5 KB · Visite: 4

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 21 luglio 2026
    Bari
    52
    78
    36
    43
    39
    Cagliari
    69
    89
    64
    46
    09
    Firenze
    75
    01
    80
    42
    35
    Genova
    85
    60
    15
    06
    32
    Milano
    47
    77
    22
    36
    59
    Napoli
    64
    68
    25
    45
    09
    Palermo
    42
    24
    66
    48
    76
    Roma
    48
    32
    08
    02
    42
    Torino
    82
    15
    07
    06
    51
    Venezia
    70
    15
    17
    66
    89
    Nazionale
    42
    17
    74
    50
    06
    Estrazione Simbolotto
    Nazionale
    44
    31
    28
    30
    29

Ultimi Messaggi

Indietro
Alto