Novità

LUIGI & C. , ma perchè funziona !?!?

Non per bravura ma, come dicono a Roma, pe TIGNA ci sono riuscito!!! .
Ricapitolando Adesso fa quello che volevo :trova 2 adattatori che aggiunti a una delle 50 posizioni delle 10 ruote giocando su una ruota a scelta, da 2 num. da giocare che sono sempre usciti nei cicli di 9 estrazioni. Il vantaggio consiste che non si gioca costretti a indici mensili ma si decide da quando incominciare (attenzione non bisogna esagerare con i cicli dalle prove ho visto fino a 25 cicli positivi)
ADESSO PERO' PER CURIOSITA' VORREI VEDERE LA SOLUZIONE DEGLI ALTRI
Codice:
Sub Main()
 Dim rt(1) 'la ruota di gioco è una (1)
 Dim rr(1) 'la ruota di ricerca posiz è una (1)
 Dim nr(2) ' i nr in gioco sono 2
 Dim pta(1) ' la puntata che faccio è l'ambata
 pta(1) = 1 'la puntata sull'ambata((1) è di 1 euro
  Dim pnr(2) ' i prossimi nr in gioco sono 2
  'Dim po(5)
 cicli = InputBox("inserire il num dei cicli(cicli di 9 estraz)di cui si vuol conoscere gli esiti ...",,12)
estraz = cicli*9 - 1
 dal = EstrazioneFin - estraz 
 rg = CInt(InputBox("QUALE RUOTA di Gioco  ",,1))
  po = CInt(InputBox("Quale posizione conteggio Qui VERA ",,1))
rri = CInt(InputBox("QUALE RUOTA di ricerca  ",,1))

 rt(1) = rg ' la ruota di gioco che è una (1) è "rg" !!!)
 rr(1) = rri 'la ruota di ricerca che è una (1) è "rri" !!!)

 k = 9 ' i Kolpi in gioco sono 9
 
 Call GetCipECiop(dal,EstrazioneFin,rt,k,cip,ciop)
 
 If cip > 0 And ciop > 0 Then 'se sia CIP sia CIOP sono superiori a 0.....
 
  For n = dal To EstrazioneFin Step 9 'questa riga dice che per fare i calcoli ci avvaliamo non degli indici
   'mensili ma di un'estrazione ogni 9 a cominciare dalla variabile " dal " ...+ 9.....+ 9 ecc fino alla fine
   'al 1° numero di ognuna di queste estrazioni che troverà fino alla fine si aggiungerà col fuori 90 una volta
   '"cip" ottenendo così un numero e una volta " ciop " per l'ultreiore numero
   Scrivi n & " giochiamo su  " & NomeRuota(rg) & " al  " & po&"°  di "& StringaEstratti(n,rri) & " " & "  aggiugiamo una volta " & cip & " " & " e una volta " & ciop
   'ng = 0
   nr(1) = Fuori90(Estratto(n,rri,po) + cip)
   nr(2) = Fuori90(Estratto(n,rri,po) + ciop)
   
   
      Call ImpostaGiocata(1,nr,rt,pta,k,1) ' imposto la giocata e la stoppo all'uscita dell'ambata = 1
   Gioca n,,,1
  
  Next
  es = EstrazioneFin + 1
 
Scrivi n & " la prossima giocata da effettuare su  " & NomeRuota(rg) & " al  " & po&"°  di "& StringaEstratti(n,rri) & " " & "  aggiugiamo una volta " & cip & " " & " e una volta " & ciop
pnr(1) = Fuori90(Estratto(es,rri,po) + cip)
   pnr(2) = Fuori90(Estratto(es,rri,po) + ciop)
   Scrivi "cosi da avere i num da giocare  " & pnr(1) & " " & pnr(2)
  ScriviResoconto
 Else
  MsgBox "Ambo da sommare impossibile da trovare per ottenere il risultato voluto !"
 End If

End Sub

Sub Sviluppoambi(aRetAmbi)' questa seconda routine combina i numeri in ambi
 ReDim aN(90)
 Dim k
 For k = 1 To 90 ' k sono i 90 numeri
  aN(k) = k
 Next
 
 aRetAmbi = SviluppoIntegrale(aN,2)
End Sub
Sub GetCipECiop(Inizio,Fine,Ruota,Colpi,Cip,Ciop)'Questa terza Sub cerca la prima coppia che soddisfa la condizione ed esce.

 Dim arrAmbi
 Dim k,i,e,idEstr
 Dim bFound
po = CInt(InputBox("Metti la posiz Vera -1 (0 per la 1^, 1 x la 2^ ..4 per la 5^ ",,0))
zz = CInt(InputBox("QUALE RUOTA di ricerca precedentemete scelta? (1/10)  ",,1))

Dim aRuota(1)
aRuota(1) = zz
 Cip = 0
 Ciop = 0
 
 Call Sviluppoambi(arrAmbi)
 
 For k = 1 To UBound(arrAmbi)
  
  bFound = True 'bFound è una variabile che assume il valore di vero
  
  For idEstr = Inizio To Fine Step 9 'ciclo delle estrazioni
   
   ReDim aNumInGioco(2)   
   i = 0
    e = 1 '  "e" è la posizione
    aNumInGioco(e) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,1))
    aNumInGioco(i) = Fuori90(Estratto(idEstr,aRuota(1),e + po) + arrAmbi(k,2))
   'Next
   If VerificaEsito(aNumInGioco,Ruota,idEstr + 1,1,Colpi) = False Then
    bFound = False
   
    Exit For
   End If
  Next
  
  If bFound Then
   Call Scrivi("Questa coppia di numeri " & arrAmbi(k,1) & "-" & arrAmbi(k,2) & "  sommata all'estrazione Base (step 9) ha sempre generato un' ambata")
   Call Scrivi("")
   Call Scrivi(StringaNumeri(aNumInGioco))   
   Cip = arrAmbi(k,1)
   Ciop = arrAmbi(k,2)
   Exit For
  End If
 Next

 
End Sub
  
  [SIZE=10px][COLOR=#0000c0][SIZE=10px][COLOR=#0000c0][B]End[/B][/COLOR][/SIZE][/COLOR][/SIZE][B][SIZE=10px][COLOR=#0000c0][SIZE=10px][COLOR=#0000c0]Sub[/COLOR][/SIZE][/COLOR][/SIZE][/B]
 
Ultima modifica:
Ciao filotto , hai fatto lo script. Bene ora passa avanti. Luigi ti sta spiegando i cicli . Prova a fare il compitino.ciao e buon lavoro :)
 
Ciao filotto penso sia un problema del forum. Tutta l impaginazione e sbagliata almeno sul mio cell. Ancora Buon lavoro. ;)
 
LuigiB;n1930266 ha scritto:
ripeto , fare gli script , anche quelli che faccio io , è una cosa a cui possono arrivare tutti però si puo portare a termine solo con la conoscienza dell'aspetto teorico, al contrario , in mancanza di questo si inizia a pasticciare , si inserisce una variabile qui , un input box di la , un pezzo di codice preso da alttre parti e cosi via tutto sommato ci si affida alla sorte.
Emblematica la frase di filotto "non riesco a fargli capire che..." caro Fil il computer è un emerito deficiente l'unica cisa che è in grado di fare molto piu velocemente di noi sono i calcoli ,,in realtà non è in grado di capire nulla è come un soldato perfetto, esegue ordini senza pensare ... è il programmatore che deve capire come funziona il linguaggio e come usarlo ..

ripredendo il post con la spiegazione non finita ricordo che ti stavo parlando dei cicli.
Il fatto che a forza di tentativi in qualche modo poi funzioni o sembri funzionare non vuol dire che lo script sa fatto bene o che dia risultati affidabili,

ora visto che nel tuo caso si deve partire da lontano abbandoniamo il tuo problema attuale

e fammi uno scipt che scriva i 5 numeri della ruota di bari
- dovrai usare un ciclo for per leggere le 5 posizioni
- dovrai usare la funzione Estratto per leggere il numero
- dovrai usare un vettore per memorizzare i 5 numeri
- al termine del ciclo i 5 numeri contenuti nel vettore li dovrai scrivere in output
con la funzioe StringaNumeri.

quindi lo script che ti chiedo pur essendo banale ti fa familiarizzare con concetti importantissimi
lo devi realizzare non come ti viene in mente ma usando tutte le cose che ti ho detto.

vai .. procedi che poi si passa avanti , ciao

Scusa Luigi non avevo letto questo tuo nell'euforia di essere riuscito a fare quello che volevo e nella contenporanietà dei messaggi non ho visto , d'altronde cosa si pretende da un attempato come me ?dopo lo farò, adesso devo sciogliere i muscoli Forza LAZIO!!!
 
Ultima modifica:
Ciao luigi in attesa di filotto
Codice:
Sub scrividistanzeEstrazione (idestr)
Dim aDist  (12,10)
Dim  r,p1,p2,i,s
Scrivi"|"&space  (1)&"DATA ESTRAZIONE :"&SPACE  (3)&getinfoestrazione ( idestr ) &space  (2)&"|",true,,rgb (240,240,240)
Scrivi " RU|"&space  (3)&"ESTRATTI "&SPACE  (3)&"|"&space  (11)&"DISTANZE"&space  (10)&"|",1,,rgb (240,240,240)


For r = 1 To 12 
If r = 11 Then r = 12 
Scrivi siglaruota ( r ) & "|",true,false 
Scrivi   stringaestratti  (idestr, r)&"|",1,false
I=0
S=" "
For p1 = 1 To 4
For p2=p1+1 To 5
I=i+1
Adist(r,i)=distanza( estratto ( idestr, r, p1 ) ,estratto ( idestr, r, p2 ) ) 
S=s&format2 ( aDist ( r, I ) ) & " | " 
'Scrivi format2 ( aDist  (r,i))&"|",false,false
Next 
Next 
S=left (s,len (s)-1)
Scrivi "|",1

'Scrivi 
Next 
Scrivi 
End sub

Ecco una sub che con una sola riga fa tanto
Basta passarli un parametro

Ora per scriverla e facile ma ho caricato tutto in matrice perché vorrei evidenziare gli isotopi , ma ho difficoltà.
Ciao :)
 
Ultima modifica:
i legend;n1930396 ha scritto:
Ciao luigi in attesa di filotto

Ora per scriverla e facile ma ho caricato tutto in matrice perché vorrei evidenziare gli isotopi , ma ho difficoltà.

Ciao :)

Questa parte difficile, è quella che dovrebbe darti le maggiori soddisfazioni ... nella sua stesura.

Anche se richiede maggiore impegno.

Ti propongo due possibili soluzioni.

Nell'una sviluppi la tabella per linee e colonne, come fossero ambi,

quindi per ogni cella di, ogni riga, controllerai se dalla Prima Riga

sino all' ultima "RUOTA" (in questa colonna)... vi è una distanza ripetuta da evidenziare.

Oppure "affianchi" e raccogli i conteggi in una matrice (10 posizioni x 45 distanze)

dove (hai già il conteggio lelle posizioni!) contando appunto le frequenze di ripetizione.

Poi userai questi valori per evidenizare le ripetiziooni al momento di redigere la tabella.

Nonostante le 2 soluzioni, "evidenziare" è molto generico ...

quindi potrebbero essereci altre soluzioni per portare in evidenza.

Comprese quelle,del tutto differenti, di portare a pronostico o giocata ... codeste situazioni.

:)
 
Ultima modifica:
Ciao joe grazie per i suggerimenti. Ho provato con For r= 1 To ubound ( asom ) - 2 For r1 = r + 1 To ubound ( asom ) For p = 1 To 10 If asom (r,p)= asom ( r1, p) Then Qui mi sono perso Ma ci devo lavorare su. Cmq se mi riesce vorrei provare a seguire entrambe le strade che mi hai suggerito. Grazie:) Ciao a domani.
 
ciao Legend , oltre i validi suggerimenti di Joe devo dirti che la tua idea di mettere in un array era ottima pero poi ti sei perso .
Hai dichiarato un array a due dimensioni , ruota e indice della posizione della distanza
questo era buono ma presupponeva di alimentare prima tutta la matrice con una prima coppia di cicli nidificati e poi di trattare l'aray delle distanze .. tu inveche hai si dichiarato l'array ma poi lo usavi dentro al ciclo rendendo inutili le due dimensioni ..
quindi prima modifica levare una dimensione alla matrice quella delle ruote , rimane valido il concetto
devi prima alimentare tutto l'array delle distanze e poi scriverle ... se non le alimenti tutte prima come potrai mai sapere quali coppie si devono evidenziare ?
Benissimo ...terminato di alimentare il vettore aDist (10) devi evidentemente fare un controllo per vedere le posizioni con valori uguali ma attenzioen non devi ancora scrivere niente in output ! Cosa ne sai di che colori usare ? Allora Dimensioni un vettore a 10 elementi che conterra i colori per le caselle delle distanze aColori10(), ..ora che hai dimensionato il vettore dei colori puoi fare il controllo delle distanze uguali , non è niente di speciale si tratta di due cicli nidificati ..ora quando trovi due posizioni uguali che si fa ? Si va ad impostare i colori nellarray dei colori aColori(P1) = Rosso aColori(P2) = Rosso
Finito questo controllo sull' array delle distanze hai a disposizione pure l'array dei colori dove ad ogni indice corrisponde il colore della casella rosso se la distanza era ripetuta ,neri se no.
Bene ora con un nuovo ciclo da 1 a 10 puoi finalmente andare in output scrivi le distanze una alla volta senza andare a capo e gli passi il colore dell'array aal colore testo o all'higlight vedi tu ...
siamo arrivati al next r del tuo script e il giro ricomincia con la ruota successiva ...

provaci tu seguendo queste indicazioni senno appena ti arrendi posto io ..
 
Ciao luigi , domani ho mille giri da fare, solo una macchina funzionante. Ti chiedo un giorno , poi se proprio non ci arrivo ti chiedo. Leggo con attenzione e cerco di seguire le indicazioni. Grazie mille:) Buona notte a tutti :)
 
Ciao Luigi, ilegend.

Buon giorno a tutte/i.

Ecco svelato e tradotto da Luigi, "scripta manent":

"questo era buono ma presupponeva di alimentare prima tutta la matrice"

infatti ... se si scrive "al volo" ... ciò che è scritto, NON sarà possibile cambiarlo.

Quindi non si potrà agire sul colore e su gli altri attributi del carattare già scritto.

Molto brevemente era: Poi.

:)
 
Ultima modifica:
Ciao a tutti
Codice:
Sub main 
Dim aDist ( 12,10 ), aColori ( 12,10 ) 
Dim idestr, R, p1, p2, k
Dim R1,R2
Idestr =estrazionefin 
For r = 1 To 12 
K=0
For p1 = 1 To 4 
For p2 =p1 + 1 To 5 
K =k+1
Adist ( R,k)=distanza  (estratto  (idestr, r, p1 ), estratto ( idestr, r, p2 ) ) 
Next 
Next 
Next 
Dim ic
For  ic=1 To ubound ( aColori)
For  R1 = 1 To 10
For R2 = r1 + 1 To 12
For I = 1 To 10
If aDist ( R1, i)=aDist ( R2,i) Then 
' Scrivi siglaruota ( R1 ) &" ;"&siglaruota ( R2)&";"&i
AColori  (ic,i)=vb red
Else
AColori  (ic,i)=vbblack
End  if
Next 
Next 
Next 
Next 
For r =1 To 12 
If r = 11 Then r = 12 
Scrivi siglaruota ( r ) & " | " & stringaestratti ( idestr, r ) & " | ", true, false 
For i=1 To 10
Scrivi  format2 ( aDist ( r, I ) ) & " | ", true, false, , aColori ( r,i)
Next 
Scrivi 
Next 
End sub

I colori non li scrive parole posizioni le trova correttamente. Dove sbaglio?

Luigi ho lasciato la ruota nella matrice perché per me era più facile ragionare pet celle .
Ho provato come mi hai suggerito ma non ne ho cavato un ragno dal buco.
Se sono vicino un ultimo input altrimenti aspetto voi.
Non avendo la ruota nella matrice come avrei potuto ciclo re l indice?
Ciao:)
E grazie mille;)
 
Ultima modifica:
La matrice sarebbe pure andata bene ..solo che ne hai reso inutile la presenza facendo tutto al volo come ti ha detto anche Joe
 
Ciao ;)
Ma qual è il passaggio che salto?
Cosa non ho considerato?
Un ultimo suggerimento?
Ciao:(
 
Ultima modifica:
Ti mando le correzioni appenacarrivo a casa..certo io avrei fatto in altro modo ..le correzioni sono in linea con il metodo con cui hai impostato lo script...ciao
 
Ciao

i legend l'ha già chiarito Luigi.

Poniamo che tu scriva il numero "N" ... come puoi sapere in anticipo ... quale colore attribuirgli ?

PRIMA devi avere tutta la matrice ... e solo DOPO ...

quando avrai chiaro il quadro della situazione saprai "SE" il numero "N"

è meritevole o meno di essere evidenziato e distinto ... dagli altri.

:)
 
benissimo .. a te il compito di far uscire colori di versi in funzione di numeri accoppiati diversi ..attualmente li fa tutti di rosso.

Codice:
Sub Main
    scrividistanzeEstrazione 8000
End Sub
Sub scrividistanzeEstrazione(idestr)
    Dim aDist(10)
    Dim r,p1,p2,i,s
    Dim nColoreEvid
    nColoreEvid = vbRed
    Scrivi "DATA ESTRAZIONE :" & Space(3) & GetInfoEstrazione(idestr) & Space(2),True,,RGB(240,240,240)
    Scrivi "RU|" & FormatSpace(" ESTRATTI",14) & "| " & FormatSpace(" DISTANZE",48) & "|",1,,RGB(240,240,240)
    For r = 1 To 12
        If r = 11 Then r = 12
        Scrivi SiglaRuota(r) & "|",True,False
        Scrivi StringaEstratti(idestr,r) & "|",1,False
        i = 0
        s = " "
        
            ' qui alimenti il vettore con le distanze della ruota in esame
        For p1 = 1 To 4
            For p2 = p1 + 1 To 5
                i = i + 1
                aDist(i) = Distanza(Estratto(idestr,r,p1),Estratto(idestr,r,p2))
            Next
        Next
        
        
        ' qui inizi ad alimentare l'array dei colori
        ' visto che ora puoi
        s = ""
        ReDim aColori(10)
        For p1 = 1 To 9
            For p2 = p1 + 1 To 10
                If aDist(p1) = aDist(p2) Then
                    aColori(p1) = nColoreEvid
                    aColori(p2) = nColoreEvid
                End If
            Next
        Next
        ' qui scrivi le distanze ciascuna col suo colore , li sai tutti
        For p1 = 1 To UBound(aDist)
            Scrivi "  " & Format2(aDist(p1)) & "|",True,False,,aColori(p1)
        Next
        Scrivi("")
    Next
    Scrivi
End Sub
 
Ciao Luigi ...

premetto che forse ho capito male io, dunque potrei sbagliare ed in ogni caso è, puor parler,

senza voler ne correggere ne sostituire ...

ma mantenere in forma "la tabella" ed ossevare la richiesta "evidenziare gli isotopi" ...

... può vincolare parecchio lo script.

Quindi anch'io ... ho modificato il predisposto di ilegend ... affincchè facesse quanto io avevo inteso:

Evidenziare le distanze ripetute isotope (in tabella).

Codice:
 Option Explicit
Sub Main
Dim aDist(12,10),aColori(45,10)
Dim idEstr,R,P1,P2,K,D
Dim R1,R2
idEstr = EstrazioneFin
For R = 1 To 12
If R = 11 Then R = 12
K = 0
For P1 = 1 To 4
For P2 = P1 + 1 To 5
K = K + 1
D = Distanza(Estratto(idEstr,R,P1),Estratto(idEstr,R,P2))
aDist(R,K) = D
aColori(D,K) = aColori(D,K) + 1
Next
Next
Next
For R = 1 To 12
If R = 11 Then R = 12
Scrivi SiglaRuota(R) & " | " & StringaEstratti(idEstr,R) & " | ",True,False
For K = 1 To 10
D = aDist(R,K)
' Scrivi siglaruota ( R1 ) &" ;"&siglaruota ( R2)&";"&i
If aColori(D,K) > 1 Then ColoreTesto 2
Scrivi Format2(aDist(R,K)),True,False
ColoreTesto 0
Scrivi " | ",True,False
Next
Scrivi
Next
End Sub

:) Buona Serata a tutte/i.
 
Ultima modifica:
mi sa che mi era sfuggito isotope .. chissa perche sono andato ad evidenziare quelle uguali ... comunque le correzioni per legend valgono lo stesso .. prima si alimenta la matrice poi si fa il resto.
ciao
 
Ciao grazie ad entrambi:) Ho capito gli errori e perché luigi mi chiedeva di togliere le ruote dalla matrice. Ho capito il suggerimento di Joe :) Sbagliavo il concetto Della matrice e del suo dimensionamento. dei colofi Devo fare mio il modo di caricare la matrice dei colori. E un po ostico al momento. Joe era proprio quello che volevo fare senza riuscirci.pensavo che l array dei colori dovesse avere 12 righe e 10 colonne ed evidenziarli in base alle coordinate. Grazie mille .ieri avevo scritto che la giornata sarebbe stata pesante. Azzeccato in pieno.ma non avevo previsto il raffreddore.arrivato a casa sono crollato. Ora 38 .2 e mal di gola.sono a pezzi.se non passa con il rimedio della nonna provo con quello turbo di luigi.ciao :) a stasera. Grazie mille davvero. Ciao:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 23 gennaio 2025
    Bari
    86
    50
    83
    38
    78
    Cagliari
    11
    36
    52
    31
    74
    Firenze
    56
    59
    86
    27
    84
    Genova
    03
    61
    53
    11
    38
    Milano
    13
    14
    79
    87
    47
    Napoli
    21
    90
    48
    55
    37
    Palermo
    56
    46
    59
    02
    53
    Roma
    74
    13
    07
    38
    77
    Torino
    27
    54
    62
    36
    81
    Venezia
    09
    14
    69
    28
    62
    Nazionale
    32
    73
    27
    11
    51
    Estrazione Simbolotto
    Bari
    36
    27
    19
    08
    24

Ultimi Messaggi

Indietro
Alto