Novità

Luigi vedi un po tu!!

Stato
Chiusa ad ulteriori risposte.
R

Roby

Guest
Ho fatto questo script per vedere se quando trovavo un estratto ripetuto nell'estrazione succesiva nella stessa ruota nella stessa posizione ,i due successivi estratti isotopi nelle due successive estrazioni,che esito avrebbero dato giocati per 6 colpi.
il listato funziona è commentato ma non riesco a spiegarmi perchè se l'evento capita in 2^ posiz mi da errore per cui il ciclo l'ho messo a partire dalle 3^pos ecco il listato:
Sub Main
Dim rt(1),pta(1),nr(4),dg(2),pos 'la ruota è una,pta significa faccio la puntata "estratto"(1)
'nr significa che i numeri sono(4) dg è la variabile dei num da giocare(2)pos e la variabile con il ciclo FOR
ex = InputBox("Quante estrazioni controllo?",,1000)

ini = EstrazioneFin - ex
fin = EstrazioneFin
For es = ini To fin
For pos = 3 To 5 'pos nelle intenzioni doveva andare da 1 a 5 ma ho
' costatato che mi da errore se incontra la
'2^ pos ???? PERCHE'???????? ho tolto il ciclo FOR
' e controllato tutte le posizioni singolarmente e la 2^ mi
'da errore , tutte le altre vanno bene
Messaggio es

rt(1) = 1 ' la ruota interessata Bari
pta(1) = 1 'la puntata(che è una) di 1 euro
k = 6 'per 6 colpi

nr(1) = Estratto(es,1,pos) '3°,4 e 5 di BA
nr(2) = Estratto(es + 1,1,pos) '3°,4 e 5 di BA
nr(3) = Estratto(es + 2,1,pos) '3°,4 e 5 di BA
nr(4) = Estratto(es + 3,1,pos) '3°,4 e 5 di BA

dg(1) = nr(3)
dg(2) = nr(4)
If nr(2) = nr(1) Then 'se il num 1 è = num 2 allora
ImpostaGiocata 1,dg,rt,pta,k,1
casi = casi + 1
'comincia a scrivere a distanza di 70 spazi " Caso n° "
Scrivi String(70," = ") & " Caso n° " & casi,1

Gioca es + 3

End If
Next
Next
Scrivi "Casi totali(" & casi & ")",1
ScriviResoconto

End Sub
 
L

LuigiB

Guest
ciao Filotto , ecco lo script rivisto e corretto

Codice:
Sub Main
	Dim rt(1),pta(1),nr(4),dg(2),pos 'la ruota è una,pta significa faccio la puntata "estratto"(1)
	'nr significa che i numeri sono(4) dg è la variabile dei num da giocare(2)pos e la variabile con il ciclo FOR
	Dim nGiocata ' numero giocata 
	Dim Casi 
	
	' questi valori possono stare in testa tanto non cambiano e quindi è inutile metterlli dentro al ciclo
	rt(1) = 1 ' la ruota interessata Bari
	pta(1) = 1 'la puntata(che è una) di 1 euro
	k = 6 'per 6 colpi
	
	ex = InputBox("Quante estrazioni controllo?",,1000)
	
	ini = EstrazioneFin - ex
	fin = EstrazioneFin
	For es = ini To fin -3 ' qui deve essere - 3 perche devi poter avere almeno altre 4 estrazioni successive
		For pos = 1 To 5 'pos nelle intenzioni doveva andare da 1 a 5 ma ho
		
			If  Estratto(es, 1, pos) =  Estratto(es+1, 1, pos)	Then ' se l'estratto in posizione pos è uguale all'estrato di estrazone +1  allora gioco
				
				Casi  =Casi  +1 
				Call Scrivi ("Caso " & Casi & " Numeri in posizione " & pos & " sulla ruota di " & NomeRuota(rt(1))) 
				Call Scrivi ("Numero ripetuto isotopo  " &  Estratto(es, 1, pos)) 
				 
				
				dg(1) = Estratto(es+2, 1, pos) ' terza estrazione 
				dg(2) = Estratto(es+3, 1, pos) ' quarta estrazione 
				
				nGiocata = nGiocata +1 ' incremento il numero di giocate 
				ImpostaGiocata nGiocata ,dg,rt,pta,k,1
				
				Gioca es + 3
			End If
	
		Next
	Next
	Scrivi "Casi totali(" & Casi & ")",1
	ScriviResoconto
	
End Sub
 

fillotto

Advanced Member >PLATINUM<
Grazie Luigi ,ho visto adesso è cominio a capire i meccanismi
volendo cambiare ruota ho messo alla "rt" il valore 2 ovvero cagliari .ANCORA GRAZIE LA CONOSCENZA E' IL REGALO PIU' GRANDE CHE TU POSSA FARCI FILLOTTO
quote:Originally posted by LuigiB

ciao Filotto , ecco lo script rivisto e corretto

Codice:
Sub Main
	Dim rt(1),pta(1),nr(4),dg(2),pos 'la ruota è una,pta significa faccio la puntata "estratto"(1)
	'nr significa che i numeri sono(4) dg è la variabile dei num da giocare(2)pos e la variabile con il ciclo FOR
	Dim nGiocata ' numero giocata 
	Dim Casi 
	
	' questi valori possono stare in testa tanto non cambiano e quindi è inutile metterlli dentro al ciclo
	rt(1) = [b]1[/b] ' la ruota interessata Bari 
	pta(1) = 1 'la puntata(che è una) di 1 euro
	k = 6 'per 6 colpi
	
	ex = InputBox("Quante estrazioni controllo?",,1000)
	
	ini = EstrazioneFin - ex
	fin = EstrazioneFin
	For es = ini To fin -3 ' qui deve essere - 3 perche devi poter avere almeno altre 4 estrazioni successive
		For pos = 1 To 5 'pos nelle intenzioni doveva andare da 1 a 5 ma ho
		
			If  Estratto(es, [b]1[/b], pos) =  Estratto(es+1, [b]1[/b], pos)	Then ' se l'estratto in posizione pos è uguale all'estrato di estrazone +1  allora gioco
				
				Casi  =Casi  +1 
				Call Scrivi ("Caso " & Casi & " Numeri in posizione " & pos & " sulla ruota di " & NomeRuota(rt(1))) 
				Call Scrivi ("Numero ripetuto isotopo  " &  Estratto(es, [b]1[/b], pos)) 
				 
				
				dg(1) = Estratto(es+2, [b]1[/b], pos) ' terza estrazione 
				dg(2) = Estratto(es+3, [b]1[/b], pos) ' quarta estrazione 
				
				nGiocata = nGiocata +1 ' incremento il numero di giocate 
				ImpostaGiocata nGiocata ,dg,rt,pta,k,1
				
				Gioca es + 3
			End If
	
		Next
	Next
	Scrivi "Casi totali(" & Casi & ")",1
	ScriviResoconto
	
End Sub
 

fillotto

Advanced Member >PLATINUM<
Ciao LUIGI ho fatto questo script che funziona , l'ho fatto su una sola ruota "BA" ma siccome i casi sono pochi volevo estenderlo con l'osservazione in tutte le ruote senza stare a cambiare la ruota di volta in volta,
ho pensato ad un ciclo for di rt ma non funge, puoi vedere? ti metto di seguito lo script che funziona e e il secondo che non funziona GRAZIE comunque a te e chi vorrà intervenire:

Sub Main
'Differenza tra 1° e 1° e 5° 5° di 4 estr uguale BA ....
Dim rt(1),pta(2),nr(8),dg(8) 'la ruota è una,pta significa faccio la puntata "ambo"(2)
'nr significa che i numeri sono(16) dg è la variabile dei num da giocare(8)
Dim nGiocata ' numero giocata
Dim Casi
' questi valori possono stare in testa tanto non cambiano e quindi è inutile metterlli dentro al ciclo
rt(1) = 1 ' la ruota interessata Bari
pta(2) = 1 'la puntata(che è un ambo) di 1 euro
k = 7 'per 7 colpi

ex = InputBox("Quante estrazioni controllo?",,1000)

ini = EstrazioneFin - ex
fin = EstrazioneFin
For es = ini To fin - 3 ' qui deve essere - 3 perche devi poter avere almeno altre 4 estrazioni successive
nr(1) = Estratto(es,1,1)
nr(2) = Estratto(es + 1,1,1)
nr(3) = Estratto(es + 2,1,5)
nr(4) = Estratto(es + 3,1,5)
nr(5) = Estratto(es,1,5)
nr(6) = Estratto(es + 1,1,5)
nr(7) = Estratto(es + 2,1,1)
nr(8) = Estratto(es + 3,1,1)

If Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)) = Differenza(Estratto(es + 2,1,5),Estratto(es + 3,1,5)) Then

Casi = Casi + 1
Call Scrivi("Caso " & Casi & " NumPiù_o_Meno = " & Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)) & " ruota di " & NomeRuota(rt(1)))



dg(1) = Fuori90(Estratto(es,1,5) + Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(2) = Fuori90(90 + Estratto(es,1,5) - Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(3) = Fuori90(Estratto(es + 1,1,5) + Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(4) = Fuori90(90 + Estratto(es + 1,1,5) - Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(5) = Fuori90(Estratto(es + 2,1,1) + Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(6) = Fuori90(90 + Estratto(es + 2,1,1) - Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(7) = Fuori90(Estratto(es + 3,1,1) + Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))
dg(8) = Fuori90(90 + Estratto(es + 3,1,1) - Differenza(Estratto(es,1,1),Estratto(es + 1,1,1)))




nGiocata = nGiocata + 1 ' incremento il numero di giocate
ImpostaGiocata nGiocata,dg,rt,pta,k,2

Gioca es + 3
End If


Next
Scrivi "Casi totali(" & Casi & ")",1
ScriviResoconto

End Sub

Di SEGUITO LO SCRIPT CHE NON FUNZIONA
Sub Main
'Differenza tra 1° e 1° e 5° 5° di 4 estr uguale BA .... E nelle intenzionni fino a VE non funziona!
Dim rt,pta(2),nr(8),dg(8) 'la ruota è una,pta significa faccio la puntata "ambo"(2)
'nr significa che i numeri sono(16) dg è la variabile dei num da giocare(8)
Dim nGiocata ' numero giocata
Dim Casi
' questi valori possono stare in testa tanto non cambiano e quindi è inutile metterlli dentro al ciclo

pta(2) = 1 'la puntata(che è un ambo) di 1 euro
k = 7 'per 7 colpi

ex = InputBox("Quante estrazioni controllo?",,1000)

ini = EstrazioneFin - ex
fin = EstrazioneFin
For es = ini To fin - 3 ' qui deve essere - 3 perche devi poter avere almeno altre 4 estrazioni successive
For rt = 1 To 10
nr(1) = Estratto(es,rt,1)
nr(2) = Estratto(es + 1,rt,1)
nr(3) = Estratto(es + 2,rt,5)
nr(4) = Estratto(es + 3,rt,5)
nr(5) = Estratto(es,rt,5)
nr(6) = Estratto(es + 1,rt,5)
nr(7) = Estratto(es + 2,rt,1)
nr(8) = Estratto(es + 3,rt,1)

If Differenza(Estratto(es,rt,1),Estratto(es + 1,rt,1)) = Differenza(Estratto(es + 2,rt,5),Estratto(es + 3,rt,5)) Then

Casi = Casi + 1
Call Scrivi("Caso " & Casi & " NumPiù_o_Meno = " & Differenza(Estratto(es,rt,1),Estratto(es + 1,rt,1)) & " ruota di " & NomeRuota(rt))



dg(1) = Fuori90(Estratto(es,rt,5
 
L

LuigiB

Guest
Cio Filotto , il primo script manco l'ho visto , nel secondo invece c'è un errore , quando si usa la funzione ImpostaGiocata il parametro che si riferiscee alla ruota non è una semplice variabile ma un array o vettore come lo vuoi chiamare.
Quindi siccome con piacere vedo che ti stai adoperando per far
fruttare quanto hai appreso dai miei video e dagli script che hai visto in giro degli altri scripter non voglio scriverti qui il listato funzionante ma solo suggerirti quali sono le correzioni in modo che ti rimangano impresse.


1) La funzione impostagiocata al parametro ruota ha bisogno di un array
percio bisogna dichiarare qualcosa del tipo

Codice:
    Dim aRuoteInGioco (1)

dichiariamo l'array con indice superiore uguale ad 1 in quanto lo script prevede di giocare una ruota alla volta.


2) ovviamente questo array va valorizzato durante il ciclo rt , per valorizzare un array si fa come con le variabili normali solo che
bisogna passare l'indice dell'elemento che si vuole modificare
avremo quindi



Codice:
  aRuoteInGioco (1)  = VALORE (indovina quale variabile andra usata al posto di VALORE)



3) Ho notato che dichiari un array nr da 1 a 8 , valorizzi i numeri ma poi invece di usare i valori contenuti nell'array rilanci la funzione Estratto , devo dirti che anche se funziona non ha senso ...
ormai i tuoi valori ce l'hai nell'array usa quello perche internamente è piu veloce usare dei dati gia memorizzati (quelli nell'array) piuttosto che richiamare daccapo la funzione estratto.

4) Nella funzione impostaGiocata invece di usare la variabile RT devi usare l'array che ti sei creato e che contiene le ruote in gioco



Codice:
   ImpostaGiocata nGiocata,dg,aRuoteInGioco ,pta,k,2



Ciao !
 

fillotto

Advanced Member >PLATINUM<
Grazie Luigi per i suggerimenti che ho applicato spero bene (specie il punto 3 che snellisce il tutto e diventa effettivaente + veloce)ma credo che non hai notato che ci deve essere un secondo errore e cioè quando dico "Gioca es + 3" perchè mi da errore proprio li, infatti se lo cancello intendo "Gioca es + 3" ancorchè mi da il resoconto con tutti "0" mi scrive i casi che sono capitati (giusti)comunque ecco il listato :
Sub Main
'Differenza tra 1° e 1° e 5° 5° di 4 estr uguale BA .... E nelle intenzionni fino a VE non funziona!
Dim rt,pta(2),nr(8),dg(8) 'la ruota è una,pta significa faccio la puntata "ambo"(2)
'nr significa che i numeri sono(16) dg è la variabile dei num da giocare(8)
Dim nGiocata ' numero giocata
Dim Casi
Dim aRuoteInGioco(1)

' questi valori possono stare in testa tanto non cambiano e quindi è inutile metterlli dentro al ciclo

pta(2) = 1 'la puntata(che è un ambo) di 1 euro
k = 7 'per 7 colpi

ex = InputBox("Quante estrazioni controllo?",,100)
aRuoteInGioco(1) = rt
ini = EstrazioneFin - ex
fin = EstrazioneFin
For es = ini To fin - 3 ' qui deve essere - 3 perche devi poter avere almeno altre 4 estrazioni successive
For rt = 1 To 10
nr(1) = Estratto(es,rt,1)
nr(2) = Estratto(es + 1,rt,1)
nr(3) = Estratto(es + 2,rt,5)
nr(4) = Estratto(es + 3,rt,5)
nr(5) = Estratto(es,rt,5)
nr(6) = Estratto(es + 1,rt,5)
nr(7) = Estratto(es + 2,rt,1)
nr(8) = Estratto(es + 3,rt,1)

If Differenza(Estratto(es,rt,1),Estratto(es + 1,rt,1)) = Differenza(Estratto(es + 2,rt,5),Estratto(es + 3,rt,5)) Then

Casi = Casi + 1
Call Scrivi("Caso " & Casi & " NumPiù_o_Meno = " & Differenza(Estratto(es,rt,1),Estratto(es + 1,rt,1)) & " ruota di " & NomeRuota(rt))
Call Scrivi(" estrazione generatrice: " & es)



dg(1) = Fuori90(nr(5) + Differenza(nr(1),nr(2)))
dg(2) = Fuori90(90 + nr(5) - Differenza(nr(1),nr(2)))
dg(3) = Fuori90(nr(6) + Differenza(nr(1),nr(2)))
dg(4) = Fuori90(90 + nr(6) - Differenza(nr(1),nr(2)))
dg(5) = Fuori90(nr(7) + Differenza(nr(1),nr(2)))
dg(6) = Fuori90(90 + nr(7) - Differenza(nr(1),nr(2)))
dg(7) = Fuori90(nr(8) + Differenza(nr(1),nr(2)))
dg(8) = Fuori90(90 + nr(8) - Differenza(nr(1),nr(2)))




nGiocata = nGiocata + 1 ' incremento il numero di giocate
ImpostaGiocata nGiocata,dg,aRuoteInGioco,pta,k,2
Gioca es + 3

End If ' If Differenza(Estratto(es,rt,1...
Next

Next
Scrivi "Casi totali(" & Casi & ")",1
ScriviResoconto

End Sub
 
L

LuigiB

Guest
no filotto , hai sbagliato nel valorizzare l'array delle ruote in gioco
lo devi valorizare dentro il ciclo rt ...
li dove lo hai valorizzato tu rt vale 0 !!!
 

fillotto

Advanced Member >PLATINUM<
quote:Originally posted by LuigiB

no filotto , hai sbagliato nel valorizzare l'array delle ruote in gioco
lo devi valorizare dentro il ciclo rt ...
li dove lo hai valorizzato tu rt vale 0 !!!
mi arrendo temo che devi essere più esplicito ho messo 0 in "For rt = 0 To 10 ma mi da sempre lo stesso errore non ho capito:(:(
 
L

LuigiB

Guest
scusa tu hai due cicli uno esterno e l'altro interno.
Il ciclo esterno è gestito da es ed è il ciclo sulle estrazioni
il ciclo interno è gestito da rt ed è il ciclo sulle ruote
ora tu hai un array aRuoteInGioco che di volta in volta nel suo elemento identificato dall'indice 1 deve contenere la ruota in gioco
quindi nel ciclo rt devi fare


for rt 1 to 10
aRuoteInGioco (1) = rt
next
 

fillotto

Advanced Member >PLATINUM<
quote:Originally posted by LuigiB

scusa tu hai due cicli uno esterno e l'altro interno.
Il ciclo esterno è gestito da es ed è il ciclo sulle estrazioni
il ciclo interno è gestito da rt ed è il ciclo sulle ruote
ora tu hai un array aRuoteInGioco che di volta in volta nel suo elemento identificato dall'indice 1 deve contenere la ruota in gioco
quindi nel ciclo rt devi fare


for rt 1 to 10
aRuoteInGioco (1) = rt
next
Miracolo:D:D l'avevo fatto soltanto sbagliavo la posizione(e ti pare poco!!) comunque , una cosa è certa : n m s scoda più!!!
GRAZIE mi so levato un peso, vado vede la tele
 

giovanna55

Super member
scusa filotto l'intromissione, ma ho un msg x luigiB


scusa ho un errore nell'istruzione OrdinaMatrice (num)

cosa può essere?


spaziometria 1.1.39



alla prossima
 
Stato
Chiusa ad ulteriori risposte.

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 09 maggio 2024
    Bari
    85
    27
    28
    56
    83
    Cagliari
    29
    34
    75
    82
    18
    Firenze
    16
    74
    36
    55
    64
    Genova
    77
    57
    29
    34
    05
    Milano
    69
    33
    28
    18
    21
    Napoli
    69
    10
    03
    05
    12
    Palermo
    06
    34
    69
    38
    13
    Roma
    35
    86
    69
    16
    06
    Torino
    08
    56
    04
    26
    23
    Venezia
    27
    84
    28
    13
    68
    Nazionale
    68
    21
    64
    11
    07
    Estrazione Simbolotto
    Milano
    40
    18
    20
    15
    37

Ultimi Messaggi

Alto