Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Il problema si pone con 30 e 60
30+60=90
60-30=30
Quindi la ricerca intercetterebbe anche la ruota base oltre che un eventuale terza ruota.
E se le ruote con la differenza sono 2?
Ciao
Option Explicit
Sub Main
Dim Es,Ini,Fin,R1,R2,R3,P1,P2,P3
Dim A,B,C,Casi
Ini = 9700
Fin = EstrazioneFin
For Es = Ini To Fin
For R1 = 1 To 9 'ciclo prima ruota R1
For R2 = R1 + 1 To 10 'ciclo seconda ruota R2
For P1 = 1 To 5 'Ciclo posizioni, dato che devono essere isotopi, P1 va usato anche per le altre posizioni
A = Estratto(Es,R1,P1) 'estratto prima ruota R1
B = Estratto(Es,R2,P1) 'estratto seconda ruota R2
If A <> 45 Then ' Non è necessario che metto anche B dato che la somma deve essere 90
If A + B = 90 Then ' Non lo faccio col Fuori90, così evito 90 + 90
For R3 = 1 To 10 'ciclo terza ruota R3
If R3 <> R1 And R3 <> R2 Then ' gli devo dire che deve essere diversa da R1,R2, perche R3 parte da 1
C = Estratto(Es,R3,P1) 'Estratto terza ruota, Per A,B e C ho usato sempre P1 per averli Isotopi
If C = Differenza(A,B) Then
Casi = Casi + 1
Scrivi String(20," * ")
Scrivi String(89,"o") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,1
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " " & SiglaRuota(R1) & " " & StringaEstratti(Es,R1),1
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " " & SiglaRuota(R2) & " " & StringaEstratti(Es,R2),1
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " " & SiglaRuota(R3) & " " & StringaEstratti(Es,R3),1
Scrivi
Scrivi Space(17) & " Estratti interessati in posizione " & P1,1
Scrivi
End If
End If
Next
End If
End If
Next
Next
Next
Next
End Sub
Ciao ILegend, sarà non complicato per te, adesso non è complicato neanchè per me, ma proprio non riesci a metterti nei panni di chi inizia, non siamo tutti uguali, tu sei ingambissima e non ho problemi a credere che la prima volta hai capito tutto a volo, io a volte guardo gli aiuti che chiedevo e vedo che sono delle cose semplicissime adesso, ma quando le ho chieste, per me erano delle montagne invalicabili.Ciao , io ho escluso i valori 0, 30,45,60,90
Ho utilizzato un metodo poco ortodosso ma per evitare if lunghi e fare errori potrebbe andare bene
Function numesclusi ( numero )
Dim av(90)
Av(0)=true
Av(30)=true
Av(45)=true
Av(60)=true
Av(90)=true
Numeriesclusi=false
If av( numero )=true then numeriesclusi=true
End function
Questa funzione è meglio metterla tra il primo ciclo ruote ed il secondo.
Se si parte dalle estrazioni anteconcorso 3950 ti esclude i buchi estrazionali.
Sarebbe corretto ovviamente valorizzare anche gli altri elementi av a false.
A xerox inserirla
Ovviamente stessa velocità se si scrive,
If e<>0 and e<>30 and e<>45 and e<>60 and e<>90 then
Codice
End if
Ciao
X salvo
Io ho cominciato ad utilizzare le matrici a due dimensioni quando ho letto uno script postato da un vecchio utente.
L ho studiato e ho capito, come utilizzarle al meglio secondo le mie possibilità ovviamente.
Lo script di Giggio è elegante ,non complicato
E non meno importante, è più veloce.
Ciao
????Ciao ILegend, sarà non complicato per te, adesso non è complicato neanchè per me, ma proprio non riesci a metterti nei panni di chi inizia, non siamo tutti uguali, tu sei ingambissima e non ho problemi a credere che la prima volta hai capito tutto a volo, io a volte guardo gli aiuti che chiedevo e vedo che sono delle cose semplicissime adesso, ma quando le ho chieste, per me erano delle montagne invalicabili.
Siccome io non mi considero bravo,(conosco i miei limiti) riesco a immedesimarmi meglio con chi inizia a fare script, tutto qui.
Ciao!
????
Piccoli passi, poi sta a noi studiare e dire quali sono le difficoltà che si incontrano.
Sub Main()
ColoreTesto 1
Scrivi String(15,32) & "Somma 90 Isotopa su 2 Ruote con la Differnza su altra Ruota",1
Scrivi String(26,32) & "Metodo Test - Ancora Da Verificare",1
Scrivi String(28,32) & "Listed by Xeroxs and Lottoced",1
ColoreTesto 0
Dim a1,a2,a3,a4,es,esp
Dim amb1(2),amb2(2),ambo(2),ruote(3),posta(1),poste(2)
'Dim amb(2),ambo(2),ruote(3),posta(1),poste(2)
posta(1) = 1
poste(2) = 1
fin = EstrazioneFin
ini = fin - 20
For es = ini To fin
esp = es - 1 ' Estrazione Precedente
AvanzamentoElab ini,fin,es
For p1 = 1 To 5
For r1 = 1 To 10
a1 = Estratto(es,r1,p1) 'Con questa riga si trova l'estratto, la posizione è una delle cause non l'effetto
For r2 = r1 + 1 To 11
If r2 = 11 Then r2 = 12
a2 = Estratto(es,r2,p1) 'Con questa riga si trova l'estratto, la posizione è una delle cause non l'effetto
'*****************************************************
'In un recente suggerimento Joe diceva che mettendo più IF, invece di uno solo, lo script è più veloce
'io quando lo script me lo permette lo faccio.
If(a1 + a2) = 90 And a1 <> 45 Then 'Quì ho impostato un unico If per la somma ed il 45 da escludere
'********************************************************
'If(a1 + a2) = 90 Then
'If a1 <> 45 Then
a3 = Abs(a1 - a2) ' Calcolo della Differenza dell'Ambo di Somma 90
For r3 = 1 To 11
If r3 = 11 Then r3 = 12
If r3 <> r2 And r3 <> r1 Then
'Non serve ad indicare la posizione del terzo estratto, abbiamo stabilito che deve essere uguale alle altre
'l'abbiamo chiamata p1, se il terzo numero lo chiamiamo con la funzione Estratto, invece dato che hai
'usato la funzione Posizione, sei obbligato dopo a dirgli che po = p1, ma non era necessario.
po = Posizione(es,r3,a3) 'Indico la posizione sulla Terza Ruota
If po > 0 And po = p1 Then
'--------------------------------------------- Calcolo Della Prima Ambata
amb1(1) = Fuori90(a3 + a3) ' Calcolo l'ambata
ruote(1) = r3
'--------------------------------------------- Calcolo Della Seconda Ambata
a4 = Estratto(esp,r3,p1) ' Cerca L'estratto nell'Estrazione precedente
amb2(1) = Fuori90(a3 + a4) ' Calcolo l'ambata
ruote(1) = r3
'--------------------------------------------- Calcolo Dell'Ambo
ambo(1) = amb1(1)
ambo(2) = amb2(1)
ruote(1) = r3
'ruote(2) = 12 ' Attivare se Vuoi Giocare anche la Nazionale
casi = casi + 1
Scrivi String(85,"=") & " caso n° " &(casi),1
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r1) & " " & StringaEstratti(es,r1) & _
" > " & Format2(a1) & " Pos. " & p1,1
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r2) & " " & StringaEstratti(es,r2) & _
" > " & Format2(a2) & " Pos. " & p1,1
Scrivi a1 & " + " & a2 & " = 90 su " & _
FormatSpace(NomeRuota(r1),8) & "e " & FormatSpace(NomeRuota(r2),8),1
Scrivi "-----------------------------------------"
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r3) & " " & StringaEstratti(es,r3) & _
" > " & Format2(a3) & " Pos. " & p1,1
Scrivi a3 & " + " & a3 & " = " & Fuori90(a3 + a3) & " Calcolo della prima Ambata da Giocare sulla Ruota = " & _
FormatSpace(NomeRuota(r3),8),1
Scrivi "-----------------------------------------"
Scrivi DataEstrazione(es - 1) & " < " & SiglaRuota(r3) & " " & StringaEstratti(es - 1,r3) & _
" > " & Format2(a4) & " Pos. " & p1,1
Scrivi a3 & " + " & a4 & " = " & Fuori90(a3 + a4) & " Calcolo della Seconda Ambata da Giocare sulla Ruota = " & _
FormatSpace(NomeRuota(r3),8),1
Scrivi String(85,"-")
ImpostaGiocata 1,amb1,ruote,posta,9
ImpostaGiocata 2,amb2,ruote,posta,9
ImpostaGiocata 3,ambo,ruote,poste,9
Gioca es
End If
End If
Next
End If
' End If
Next
Next
Next
Next
ScriviResoconto
End Sub
Option Explicit
Sub Main()
ColoreTesto 1
Scrivi String(15,32) & "Somma 90 Isotopa su 2 Ruote con la Differnza su altra Ruota",1
Scrivi String(26,32) & "Metodo Test - Ancora Da Verificare",1
Scrivi String(28,32) & "Listed by Xeroxs and Lottoced",1
ColoreTesto 0
Dim A,B,C,D,p1,r1,r2,r3,es,esp,casi,amb1(1),amb2(1),ambo(2),ruote(3),posta(1),poste(2)
posta(1) = 1 : poste(2) = 1
For es = EstrazioneFin - 20 To EstrazioneFin 'Quì posso cambiare le estrazioni Di Controllo
esp = es - 1 ' Estrazione Precedente
Messaggio "elab. estr. [ " &(es) & " ] di " & DataEstrazione(es,1)
'AvanzamentoElab ini,fin,es
For p1 = 1 To 5
For r1 = 1 To 10
A = Estratto(es,r1,p1) 'Posizione del Primo Estratto
For r2 = r1 + 1 To 11 : If r2 = 11 Then r2 = 12
B = Estratto(es,r2,p1) 'Posizione del Secondo Estratto
If(A + B) = 90 And A <> 45 Then ' Quì ho impostato un unico If per la somma ed il 45 da escludere
For r3 = 1 To 11 : If r3 = 11 Then r3 = 12
If r3 <> r2 And r3 <> r1 Then
C = Estratto(es,r3,p1)
If C = Abs(A - B) Then ' Calcolo della Differenza dell'Ambo di Somma 90
'--------------------------------------------- Calcolo Della Prima Ambata
amb1(1) = Fuori90(C + C) ' Calcolo l'ambata
ruote(1) = r3
'--------------------------------------------- Calcolo Della Seconda Ambata
D = Estratto(esp,r3,p1) ' Cerca L'estratto nell'Estrazione precedente
amb2(1) = Fuori90(C + D) ' Calcolo l'ambata
ruote(1) = r3
'--------------------------------------------- Calcolo Dell'Ambo
ambo(1) = amb1(1)
ambo(2) = amb2(1)
ruote(1) = r3
'ruote(2) = 12 ' Attivare se Vuoi Giocare anche la Nazionale
casi = casi + 1
Scrivi String(85,"=") & " caso n° " &(casi),1
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r1) & " " & StringaEstratti(es,r1) & _
" > " & Format2(A) & " Pos. " & p1,1
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r2) & " " & StringaEstratti(es,r2) & _
" > " & Format2(B) & " Pos. " & p1,1
Scrivi A & " + " & B & " = 90 su " & _
FormatSpace(NomeRuota(r1),8) & " e " & FormatSpace(NomeRuota(r2),8),1
Scrivi "-----------------------------------------"
Scrivi A & " - " & B & " = " & Abs(A - B) & " Calcolo la Differenza Dell'Ambo di Somma 90 - Trovato sulla Ruota di " & _
FormatSpace(NomeRuota(r3),8),1
Scrivi DataEstrazione(es) & " < " & SiglaRuota(r3) & " " & StringaEstratti(es,r3) & _
" > " & Format2(C) & " Pos. " & p1,1
Scrivi C & " + " & C & " = " & Fuori90(C + C) & " Calcolo della prima Ambata da Giocare sulla Ruota = " & _
FormatSpace(NomeRuota(r3),8),1
Scrivi "-----------------------------------------"
Scrivi DataEstrazione(es - 1) & " < " & SiglaRuota(r3) & " " & StringaEstratti(es - 1,r3) & _
" > " & Format2(D) & " Pos. " & p1,1
Scrivi C & " + " & D & " = " & Fuori90(C + D) & " Calcolo della Seconda Ambata da Giocare sulla Ruota = " & _
FormatSpace(NomeRuota(r3),8),1
Scrivi String(85,"-")
ImpostaGiocata 1,amb1,ruote,posta,9
ImpostaGiocata 2,amb2,ruote,posta,9
ImpostaGiocata 3,ambo,ruote,poste,9
Gioca es
End If ' Chiude C - Il calcolo della Differenza
End If ' Chiude r3
Next 'Chiude r3
End If ' Chiude A+ B
Next 'Chiude r2
Next ' Chiude r1
Next ' Chiude p1
Next 'Chiude es
ScriviResoconto
End Sub