Novità

script ritrovato in una cartella di spaziometria

Serse

Advanced Member
Io di script non ci capisco nulla.Chiedo se fosse possibile avere il calcolo della ricerca di questo metodo(quando si presentano le condizioni) spero di essermi spiegato.
grazie .
Option Explicit
Sub Main

Dim nInizio,nFine ' variabili che indicano i limiti del range analizzato
Dim k ' variabile di controllo per il ciclo che scorre le estrazioni da analizzare
Dim CollAmbiSommaA ' contenitore degli ambi trovati con somma 53 (s1)
Dim CollAmbiSommaB ' contenitore degli ambi trovati con somma 74 (s2)
Dim s1,s2 ' variabili delle somme da trovare per la condizione (s1 = somma A ) (s2 = somma B)
Dim clsAmboA,clsAmboB ' variabili per ciclare sui contenitori degli ambi trovati
Dim RetEsito,RetColpi,RetEstratti,RetIdEstr ' parametri di ritorno per VerificaEsito
Dim nCasi,nCasiVincenti ' memorizza casi totali e casi vincenti
Dim sNumeriInteressati,sRuoteinteressate ' variabili che dinamicamente contengono i numeri degli ambi isotopi in somma
' ad ogni estrazione analizzzata se la condizione è stata trovata queste variabili contengono
' i numeri interessati e le ruote
Const nSorteMinima = 2 ' sorte minima di gioco ambo
Const nColpiMax = 12 ' colpi massimi di gioco 12

' preimposto le somme volute si fa all'inizio perche tanto non cambiano
s1 = 53
s2 = 74
' leggo il range da analizzare direttamente da quello impostato nel programma con la barra rosa
nInizio = EstrazioneIni
nFine = EstrazioneFin
' dimensiono un array che conterra i 13 numeri in gioco
ReDim aNumInGioco(13)
' lancio la procedura che effettivamente alimenta l'array dei numeri in gioco
Call AlimentaNumInGioco(aNumInGioco)
' faccio il ciclo sulle estrazioni del range da analizzare
For k = nInizio To nFine
' NOTA :
' lo spazioscript contiene numerose funzioni che agvolano il lavoro per lo scripter
' nel tuo caso dato che vuoi ottenere degli ambi isotopi di una certa somma
' puoi appunto usare la funzione apposita cosi eviti di dover scrivere da solo cicli nidificati
' che ti potrebbero confondere , la funzione è la seguente GetAmbiSommaX
' questa funzione cerca tutti gli ambi di una determinata somma in una determinata estrazione
' e li mette in un contenitore che poi si puo leggere


' lancio una prima volta la funzione per trovare gli ambi con somma A (53)
' tutti gli ambi trovati in tutte le ruote saranno inseriti nel contenitore
' CollAmbiSommaA
Call GetAmbiSommaX(k,CollAmbiSommaA,s1)

' lancio una seconda volta la funzione per trovare gli ambi con somma B (74)
' tutti gli ambi trovati in tutte le ruote saranno inseriti nel contenitore
' CollAmbiSommaB
Call GetAmbiSommaX(k,CollAmbiSommaB,s2)

' NOTA :
' in questo punto del codice i due contenitori CollAmbiSommaA e CollAmbiSommaB
' conterranno un certo numero di ambi trovati
' ora bisogna combinare gli ambi del contenitore A con quelli del contenitore B
' e poi verificare la faccenda dell'isotopia per vedere se la condizione è rispettata

' attraverso 2 cicli combino gli ambi di somma A con quelli di somma B
For Each clsAmboA In CollAmbiSommaA 'il ciclo for each è uguale al for next solo che usa una variabile oggetto
For Each clsAmboB In CollAmbiSommaB 'piuttosto che una numerica, percio si usa per ciclare gli oggetti in un contenitore
ReDim aRuote(2) ' array delel ruote interessate che usero per giocare se la condizione è valida

' lancio una funzione che si occupa di verificare la condizione
' se torna True vuol dire che la condizione richiesta è stata trovata
If CondizioneRispettata(clsAmboA,clsAmboB,aRuote,sNumeriInteressati) = True Then

' a questo punto la condizione è stata trovata
' incremento i casi trovati
nCasi = nCasi + 1
' scrivo comunque l'estrazione di rilevamento a prescindere dall'esito che si verifichera
Call Scrivi(String(80,"°") & " Caso n°" & nCasi,1)
Call Scrivi(DataEstrazione(k) & " - " & Left(clsAmboA.RuoteInteressate,3) & " - " & StringaEstratti(k,aRuote(1)) & " - " & Left(clsAmboB.RuoteInteressate,3) & " - " & StringaEstratti(k,aRuote(2)) & " - " & " AMBI SPIA BY BAFFOBLU: " & sNumeriInteressati)

' uso la funzione verificaEsito che tron a true se è capitato un esito maggiore o uguale a quello previsto entro i dati colpi
If VerificaEsito(aNumInGioco,aRuote,k + 1,nSorteMinima,nColpiMax,,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
' è capitato un esito positivo e scrivo i numeri usciti
Call Scrivi(GetInfoEstrazione(RetIdEstr) & " " & RetEsito & " colpi : " & RetColpi & " " & RetEstratti)
Call Scrivi(String(80,"°"),1)
' incremento i casi vincenti
nCasiVincenti = nCasiVincenti + 1

Else
' naturalmente bisogna scrivere anche quando non si è vinto
Call Scrivi("Esito negativo")
End If
End If
Next
Next
Call AvanzamentoElab(nInizio,nFine,k)
Next

' totali finali
Call Scrivi(String(50,"="))
Call Scrivi("Casi Totali : " & FormatSpace(nCasi,10,True))
Call Scrivi("Casi Vincenti : " & FormatSpace(nCasiVincenti,10,True) & " (" & Round(ProporzioneX(nCasiVincenti,nCasi,100),3) & "%)")



End Sub
Function CondizioneRispettata(clsAmboA,clsAmboB,aRuote,sNumeri)
' questa funzione serve a verificare la condizione
' le variabili clsAmboA,clsAmboB sono valorizzate con gli ambi letti dai rispettivi contenitori
' degli ambi con somma A e gli ambi con somma B
' PARAMETRI
' clsAmboA = Ambo letto dal contenitore A che viene passato dalla procedura chiamante
' clsAmboB = Ambo letto dal contenitore B che viene passato dalla procedura chiamante
' aRuote = serve a far tornare indietro le ruote trovate in modo che la procedira chiamante le sappia
' sNumeri = serve a ffar tornare indietro l a stringa contenente i 4 numeri trovati (i 2 ambi)




Dim clsNum ' variabile per leggere il singolo numero di ciascun ambo
ReDim aPosOccupate(5) ' dimensiono un array che serve a memorizzare le posizioni di uscita dei numeri dei 2 ambi A e B
Dim k,n ' variabili di servizio per controllo cicli , indici di array ecc
Dim sAmboA,sAmboB ' stringhe che serviranno per contenere gli ambi A e B

' azzero le variabili di ritorno
sNumeri = ""
ReDim aRuote(2)

' uso una variabile temporanea per leggere la ruota dell'ambo con somma A
ReDim aR(0)
Call clsAmboA.RuoteInteressateI(aR)
aRuote(1) = aR(1) ' valorizzo l'array che conterra la ruota trovata con la ruota dove è uscito l'ambo A

' uso una variabile temporanea per leggere la ruota dell'ambo con somma B
ReDim aR(0)
Call clsAmboB.RuoteInteressateI(aR)
aRuote(2) = aR(1) 'valorizzo l'array che conterra la ruota trovata con la ruota dove è uscito l'ambo B

' ogni ambo ovviamente contiene 2 numeri
' ciclo sui 2 numeri di ciascuno dei 2 ambi
' serve per verificare l'isotopia
For k = 1 To 2

' valorizzo un array per memorizzare le posizioni di uscita di ogni numero dei 2 ambi
aPosOccupate(clsAmboA.clsNumero(k).Posizione) = True ' ambo a
aPosOccupate(clsAmboB.clsNumero(k).Posizione) = True ' ambo b

' costruisco le stringhe che conterranno gli ambi usciti
sAmboA = sAmboA & Format2(clsAmboA.clsNumero(k).Numero) & "." ' concateno un punto alla stringa
sAmboB = sAmboB & Format2(clsAmboB.clsNumero(k).Numero) & "."


Next
' ora samboA conterra ad esempio 2 numeri "03.50." e sAmboB ad esempio 2 numeri "04.70."
' notare che compare un punto pure alla fine di ciascuna stringa lo dovremo levare per questioni di bellezza

' concateno le 2 stringhe samboA e samboB contenenti i 2 ambi per far toranre indietro
' alla procedura chiamante la stringa completa con i 4 numeri totali
' siccome le stringhe alla fine contengono un punto di troppo
' lo devo levare percio uso la funzione left
sNumeri = Left(sAmboA,Len(sAmboA) - 1) & "/" & Left(sAmboB,Len(sAmboB) - 1)

' conto le posizioni occupate complessivamentedai 4 numeri
For k = 1 To 5
If aPosOccupate(k) = True Then
n = n + 1
End If
Next

If n = 2 Then
' se le posizioni occupate sono 2 è automatico che i 2 ambi sono isotopi percio la condizionwe è rispettata
CondizioneRispettata = True
End If
End Function
Sub AlimentaNumInGioco(aNum)

' procedura che alimenta i numeri in gioco
aNum(1) = 38
aNum(2) = 84
aNum(3) = 3
aNum(4) = 45
aNum(5) = 35
aNum(6) = 44
aNum(7) = 65
aNum(8) = 15
aNum(9) = 82
aNum(10) = 51
aNum(11) = 58
aNum(12) = 77
aNum(13) = 81
End Sub
 
Buon giorno Serse,mi permetto di rispondere solo per dire che gia in tempi passati è stata fatta una discussione e una ricerca su questo buon lavoro di BAFFOBLU .
Lui alle richieste ,come la tua,non ha mai risposto, (io non ne ho trovate)
e altri, ,esperti,hanno scritto che dopo gli ambi spia
l'ambo che veniva estratto veniva fuori dai 13 numeri che sono indicati alla fine dello script ,
indovinare due numeri su tredici diventa molto dispendioso e per niente conveniente.
Ora dopo tanto tempo qualche bravo SCRIPTERISTA , potrebbe elaborare uno script STATISTICO sui 13 numeri
che dopo l'uscita dei due ambi con somma 53---74---potrebbe indicare quali ambi possibili giocare.
Se non sara possibile pazienza ..... perdiamo ogni speranza .
Buona giornata
Saluti
Serpico
 
Buon giorno Serse,mi permetto di rispondere solo per dire che gia in tempi passati è stata fatta una discussione e una ricerca su questo buon lavoro di BAFFOBLU .
Lui alle richieste ,come la tua,non ha mai risposto, (io non ne ho trovate)
e altri, ,esperti,hanno scritto che dopo gli ambi spia
l'ambo che veniva estratto veniva fuori dai 13 numeri che sono indicati alla fine dello script ,
indovinare due numeri su tredici diventa molto dispendioso e per niente conveniente.
Ora dopo tanto tempo qualche bravo SCRIPTERISTA , potrebbe elaborare uno script STATISTICO sui 13 numeri
che dopo l'uscita dei due ambi con somma 53---74---potrebbe indicare quali ambi possibili giocare.
Se non sara possibile pazienza ..... perdiamo ogni speranza .
Buona giornata
Saluti
Serpico
Ti ringrazio per la risposta.Vorrà dire che rimarrà il "Santo graal "degli script :)di nuovo grazie e buona giornata a te e a chi leggerà questo post e ne rimarrà incuriosito :)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 03 dicembre 2024
    Bari
    38
    26
    58
    36
    65
    Cagliari
    71
    68
    61
    41
    89
    Firenze
    52
    65
    73
    03
    50
    Genova
    37
    41
    70
    40
    06
    Milano
    62
    28
    70
    06
    39
    Napoli
    25
    50
    49
    60
    52
    Palermo
    06
    55
    68
    11
    86
    Roma
    12
    23
    16
    14
    63
    Torino
    16
    06
    44
    14
    88
    Venezia
    07
    67
    01
    38
    89
    Nazionale
    67
    27
    38
    57
    19
    Estrazione Simbolotto
    Venezia
    42
    15
    08
    05
    32
Indietro
Alto