Zetrix
Advanced Premium Member
		Codice:
	
	Option Explicit
' SCRIPT SU RICHIESTA DI ZETRIX UTENTE LOTTOCED
' LO SCRIPT È REGALATO PUÒ ESSERE DISTRIBUITO MA NON PUÒ ESSERE VENDUTO"
' NON SI ESCLUDONO ERRORI O EVENTUALI BUGS
' SPETTA ALL UTENTE FINALE FINALE CONTROLLARE CHE I RISULTATI SIANO ESATTI
' L UTILIZZATORE È L UNICO RESPONSABILE DI EVENTUALI PERDITE DI DENARO SE DECIE DI GIOCARE
' LO SCRIPT È DI CARATTERE GRAFICO NON RESTITUISCE PREVISIONI
' IL GIOCO IN ITALIA  È VIETATO AI MINORI DI ANNI 18 ( IN BASE AL REGOLAMENTO VIGENTE IN DATA 27/12/2022) E PUÒ PROVOCARE GRAVE DIPENDENZA PATOLOGICA
Class cls1
   Dim Num
   Dim nPres
   Sub IncrementaPres
      nPres = nPres + 1
   End Sub
End Class
Sub Main
   'Call MsgBox("script su richiesta di zetrix utente lottoced" & vbCrLf & "lo script è regalato può essere distribuito ma non può essere venduto" & vbCrLf & _
   '"Non si escludono errori o eventuali bugs" & vbCrLf & "spetta all utente finale finale controllare che i risultati siano esatti" & vbCrLf & _
   '"spetta all utente finale finale controllare che i risultati siano esatti" & vbCrLf & "l utilizzatore è l unico responsabile di eventuali perdite di denaro se decie di giocare" & vbCrLf & _
   '"lo script è di carattere grafico non restituisce previsioni" & vbCrLf & "il gioco in italia  è vietato ai minori di anni 18 ( in base al regolamnto vigente in data 27/12/2022)" & vbCrLf & _
   '" e può provocare grave dipendenza patologica",vbInformation + vbOKOnly,"Informazioni")
   Call SetColorSezione(RGB(210,228,247))
   Dim idestr:idestr = EstrazioneFin
   Dim sum,nPasso,nElem,n,i,e,bRet,nSpia,m
   nSpia = GetSpia
   nPasso = GetPasso
   nElem = GetElementi(nPasso)
   Dim Coll:Set Coll = GetNewCollection
   Dim sKey,sNum,sTemp,nTro
   nTro = 0
   For n = 1 To 90
      sum = 0
      bRet = False
      m = 0
      ReDim aLung(nElem),aN(90)
      For i = 1 To nElem
         e = Fuori90(n + sum)
         If aN(e) <> 1 Then
            m = m + 1
            aLung(m) = e
            aN(e) = 1
         End If
         If e = nSpia Then bRet = True
         sum = sum + nPasso
      Next
      If bRet Then
         ReDim Preserve aLung(m)
         ReDim atemp(m)
         For i = 1 To m
            atemp(i) =(aLung(i))
         Next
         Call OrdinaMatriceTurbo(atemp,1)
         nTro = nTro + 1
         sKey = "K" & StringaNumeri(atemp,True)
         If GetItemCollection(Coll,sKey,sNum) Then
            snum.IncrementaPres
         Else
            Set sNum = New cls1
            sNum.num = StringaNumeri(sTemp,,True)
            Coll.Add sNum,sKey
            Call GetStrinaNumeriDaEvidenziare(idestr,aLung,nSpia,m,nPasso)
         End If
      End If
   Next
End Sub
Sub GetStrinaNumeriDaEvidenziare(idEstr,aLung,nSpia,nLung,nPasso)
   Dim r,e,p,nPresSpia
   Dim nCaselleDaEvid
   ReDim aCeck(90),anTro(0)
   Call aZZera(aCeck)
   For e = 1 To UBound(aLung)
      aCeck(aLung(e)) = 1
   Next
   Dim aR:aR = Array(0,1,2,3,4,5,6,7,8,9,10,12)
   ' predispone le dimensioni della matrice che contien i numeri
   ReDim aNumDaEvid(55,1) ' dato che non so a priori la quantita di numeri metto 55
   nPresSpia = 0
   For r = 1 To 11
      For p = 1 To 5
         e = Estratto(idEstr,aR(r),p)
         If e = nSpia Then nPresSpia = nPresSpia + 1
         If aCeck(e) = 1 Then
            nCaselleDaEvid = nCaselleDaEvid + 1
            ReDim Preserve anTro(nCaselleDaEvid)
            anTro(nCaselleDaEvid) = e
            aNumDaEvid(nCaselleDaEvid,0) = r
            aNumDaEvid(nCaselleDaEvid,1) = p
         End If
      Next
   Next
   Call EliminaRipetuti(anTro,True)
   'If UBound(anTro) >= 2 Then
      ReDim aMatriceLegami(nCaselleDaEvid - 1,3)
      For r = 1 To nCaselleDaEvid - 1
         aMatriceLegami(r,0) = aNumDaEvid(r,0)
         aMatriceLegami(r,1) = aNumDaEvid(r,1)
         aMatriceLegami(r,2) = aNumDaEvid(r + 1,0)
         aMatriceLegami(r,3) = aNumDaEvid(r + 1,1)
      Next
      Dim col:col = RGB(210,228,247)
      Dim nVolte:nVolte = "volta"
      If nPresSpia <> 1 Then nVolte = "volte"
      Dim nFormat:nFormat = Len(StringaNumeri(aLung,,True))
      Dim SviluppoQuartina
      Scrivi" ",,0
      Scrivi FormatSpace(" Non si garantisce che vengano visualizzate Tutte le formazioni",194),1,,RGB(43,129,212),5
      Scrivi" ",,0
      Scrivi FormatSpace(" La sequenza si sviluppa  in senso orario .Vedi cerchio ciclometrico",194),1,,RGB(43,129,212),5
      Scrivi
      Scrivi" ",,0
      Scrivi " numero spia nelle lunghette :      ",1,0,col,RGB(79,79,79)
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi " " & FormatSpace(nSpia,2,1) & " ",1,0,RGB(87,99,128),vbWhite
      Scrivi" ",,0
      Scrivi FormatSpace(" Pres nell'estrazione : " & nPresSpia & " " & nVolte,60),,,,vbRed
      Scrivi" ",,0
      Scrivi " numeri in lunghetta :             ",1,0,col,RGB(79,79,79)
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi FormatSpace(nLung,nFormat,1),1,,5
      Scrivi" ",,0
      Scrivi " sequence lunghetta :                       ",1,0,col,RGB(79,79,79)
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi FormatSpace(nPasso,nFormat,1),1,,5
      Scrivi" ",,0
      Scrivi " lunghetta spia :                        ",1,0,col,RGB(79,79,79)
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi FormatSpace(StringaNumeri(aLung,,True),nFormat,1),1,,5
      Scrivi" ",,0
      Scrivi " numeri trovati :                   ",1,0,col,RGB(79,79,79)
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi " " & FormatSpace(UBound(anTro),2,1) & " ",1,0,RGB(87,99,128),vbWhite
      Scrivi "|",,0,,RGB(210,228,247),3
      Scrivi FormatSpace(" " & StringaNumeri(anTro,,True) & " ",nFormat,1),1,,5
      Scrivi
      Call DisegnaEstrazione(idEstr,aNumDaEvid,aMatriceLegami,RGB(249,80,47))
      Call DisegnaCerchioCiclometrico(anTro,True,,,,1,1)
      ' se togli il rem al rigo successivo verranno disegnati tutti i cerchi in classe 4 con fisso il numero spia n
      'Call Get SviluppoQuartina(anTro,nSpia)
   'End If
End Sub
Sub aZZera(aCeck)
   ReDim aCeck(90)
   Dim i
   For i = 1 To 90
      aCeck(i) = 0
   Next
End Sub
Function GetSpia
   Dim aSpia(89)
   Dim i
   For i = 0 To 89
      aSpia(i) = i + 1
   Next
   GetSpia = ScegliOpzioneMenu(aSpia,0,"seleziona numero spia ") + 1
End Function
Function GetPasso
   Dim aPasso(44)
   Dim i
   For i = 0 To 44
      aPasso(i) = i + 1
   Next
   GetPasso = ScegliOpzioneMenu(aPasso,0,"scegli passo") + 1
End Function
Function GetElementi(nPasso)
   Dim i,idE
   idE = CInt(Dividi(90,nPasso)) - 3
   ReDim aElem(17)
   For i = 0 To UBound(aElem)
      aElem(i) = i + 3
   Next
   If idE > 20 Then idE = 0: Else idE = idE - 3
   GetElementi = ScegliOpzioneMenu(aElem,idE,"scegli quanti numeri nella lunghetta") + 3
End Function
	i legend ho fatto una modifica su Dim aPasso
ho messo (44) e ho fatto una prova con la sequenza 32 in lunghetta e lo
script da errore dice valore di proprieta non valido
Dim aPasso(44)
Dim i
For i = 0 To 44