Novità

x Luigi Funzione VerificaEsito

Mike58

Advanced Member >PLATINUM PLUS<
Ciao Luigi,innanzitutto un salutissimo,ti volevo chiedere se fosse possibile rivedere o creare una nuova funzione della VerificaEsito.
Io sai sono un amante degli script in tabella e uso molto la funzione verifica esito per valutare i risultati che mi prefiggo di verificarne l'esito, ma a volte sarebbe interessante che il verificaEsito non si fermasse al 1° esito valido entro il numero di colpi e che desse la scelta di fermare l'esito al all'esito voluto(un po' come l'impostaGiocata).

Solo Che l'impostaGiocata è legato alla funzione Gioca e quindi non può essere utilizzato per il mio scopo e per questo ti chiedo se ti fosse possibile creare un qualcosa che stabilisce la sorte di interruzione nel verificaEsito.

Poi visto che ci sono avrei anche un altra richiesta circa i codici GetVincita-Getguadagno-Getspesa anche loro agiscono all'interno dell'impostaGiocata e Gioca e non è possibile richiamarli senza di loro.
Per questo ultimo quesito io uso calcolare le vincite con la funzione Vincita allacciando tutti i possibili calcoli, però la funzione sarebbe comoda richiamarla cosi come dopo l'impostaGiocata e Gioca.

Vedi se puoi fare qualcosa circa le richieste o se c'è altro modo per raggiungere l'obiettivo.

Ciao, e chiaramente senza impegno e senza fretta xchè le cose vanno alla grande anche così

Mike
 
ciao Mike per le funzioni GetVincita e compagnia non si puo fare proprio nulla perche agiscono su dati che lo script si memorizza internamente grazie a tutto il processo di impostagiocata e gioca , quindi slegato da queste cose non è possibile usarle ne implementarne altre proprio perche i dati su cui dovrebbero agire nell'altro scenario sono di competenza di chi scrive lo script.
Per il verifica esito qualcosa si puo fare ma è inutile visto che si puo risolvere ugualmente il problema incapsulando la funzione verificaesito in un altra funzione scritta apposta e che la usi ad hoc per fornire risultati anche dopo il primo esito verificato.
,anche nell'altro caso di GetVincita si possono scrivere funzioni ad hoc secondo le proprie esigenze.
Ecco un esempio di cosa intendo riferito al verifica esito

Codice:
Sub Main
	ReDim aNum(4) ' array contenente il pronostico
	ReDim aRt(1) ' array contenente le ruote
	Dim idEstrInizio ' estrazione da dove comincia la verifica dell'esito
	Dim nEsiti
	ReDim aRetEsito(0)
	ReDim aRetColpi(0)
	ReDim aRetEstratti(0)
	ReDim aRetIdEstr(0)
	Dim k
	Dim Somma
	'imposto il pronostico da verificare
	aNum(1) = 4
	aNum(2) = 8
	aNum(3) = 12
	aNum(4) = 16
	' imposto le ruote su cui giocare
	aRt(1) = BA_
	
	' imposto l'estrazione da dove parte la verifica
	idEstrInizio = 5000
	'gioco per AMBO  senza un numero di colpi limite
	nEsiti = MioVerificaEsito(aNum,aRt,idEstrInizio,2,0,Nothing,aRetEsito,aRetColpi,aRetEstratti,aRetIdEstr)
	If nEsiti > 0 Then
		For k = 1 To nEsiti
			Call Scrivi(GetInfoEstrazione(aRetIdEstr(k)) & " " & FormatSpace(aRetEsito(k),20) & " colpi : " & FormatSpace(aRetIdEstr(k) - idEstrInizio,4,True) & " numeri : " & aRetEstratti(k))
		Next
	Else
		Call Scrivi("Esito negativo")
	End If
End Sub
Function MioVerificaEsito(aNum,aRt,idEstr,nSorte,nColpi,aPosizioni,aRetEsito,aRetColpi,aRetEstratti,aRetIdEstr)
	Dim idEstrInizio
	Dim nEsiti
	Dim RetEsito ' torna il nome della sorte (estratto , ambo ...ecc)
	Dim RetColpi ' torna i colpi impiegti fino al raggiungimento dell'esito
	Dim RetEstratti ' torna i numeri estratti
	Dim RetIdEstr ' torna lidentificativo numerico dell'estrazione in cui si è avuto l'esito
	ReDim aRetEsito(0)
	ReDim aRetColpi(0)
	ReDim aRetEstratti(0)
	ReDim aRetIdEstr(0)
	idEstrInizio = idEstr
	Do
		If VerificaEsito(aNum,aRt,idEstrInizio,nSorte,nColpi,aPosizioni,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
			nEsiti = nEsiti + 1
			ReDim Preserve aRetEsito(nEsiti)
			ReDim Preserve aRetColpi(nEsiti)
			ReDim Preserve aRetEstratti(nEsiti)
			ReDim Preserve aRetIdEstr(nEsiti)
			aRetEsito(nEsiti) = RetEsito
			aRetColpi(nEsiti) = RetColpi
			aRetEstratti(nEsiti) = RetEstratti
			aRetIdEstr(nEsiti) = RetIdEstr
			idEstrInizio = RetIdEstr + 1
		Else
			Exit Do
		End If
	Loop
	MioVerificaEsito = nEsiti
End Function
 
Grazie Luigi, ho letto lo script e capito il senso.
Sembra che il senso sia impostare la funzione verificaesito sommarla nei casi e con loop + Redim Preserve memorizzare i dati.
Devo ancora purtroppo capire come fermarla nella sorteinterruzione, ma ci posso arrivare.

Come tu dici nel vbscript c'è già tutto, c'è solo da mettere insieme i procedimenti, ma questo non è semplice e c'è sembre bisogno di aiuto.

Ciao e di nuovo un salutissimo.

Mike
 
bhe è semplicissimo innanzi tutto visto che non vuoi che si fermi al primo esito (motivo per cui l'abbiamo incapsualata)
ma nello stesso tempo come dici in questo tuo ultimo post vuoi pure che ad un certo punto si fermi allora devi decidere quali sono
le condizioni per le quali si fermi poi ed agire dentro al loop appena la condizione di uscita si verifica devi solo uscire dal do con Exit Do
ad esempio potresti modificare la riga

Codice:
If VerificaEsito(aNum,aRt,idEstrInizio,[COLOR="#0000CD"]nSorte[/COLOR],nColpi,aPosizioni,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
con
Codice:
If VerificaEsito(aNum,aRt,idEstrInizio,[COLOR="#0000CD"]1[/COLOR],nColpi,aPosizioni,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then


come vedi al posto del parametro sorte passiamo il valore 1 cosi il verificaesito ci segnala l'estratto e tutte le sorti superiori

ora fai finta che tu volessi uscire al terno dovresti scrivere semplicemente all'interno del loop la riga colorata di blu

Codice:
Do
		If VerificaEsito(aNum,aRt,idEstrInizio,1,nColpi,aPosizioni,RetEsito,RetColpi,RetEstratti,RetIdEstr) Then
			nEsiti = nEsiti + 1
			ReDim Preserve aRetEsito(nEsiti)
			ReDim Preserve aRetColpi(nEsiti)
			ReDim Preserve aRetEstratti(nEsiti)
			ReDim Preserve aRetIdEstr(nEsiti)
			aRetEsito(nEsiti) = RetEsito
			aRetColpi(nEsiti) = RetColpi
			aRetEstratti(nEsiti) = RetEstratti
			aRetIdEstr(nEsiti) = RetIdEstr
			idEstrInizio = RetIdEstr + 1
			[COLOR="#0000CD"]if RetEsito >= nSorte then exit do[/COLOR]
		Else
			Exit Do
		End If
	Loop
 
Grazie Luigi lo avevo capito, era semplice per le mie conoscenze, ho salvato la function e la riutilizzerò quando mi è necessario.
Però visto che la funzione si potrebbe creare ad hoc se ti è possibile vedi cosa puoi fare.
Per le funzioni getvincita etc.. io ho già un mio procedimento ma se rifai qualche altro esempio come sopra benvenuto si copierà anche quello.

Come ti dicevo sopra senza nessuna fretta, l'obiettivo è raggiunto anche in questo modo.

Ciao un saluto

Mike
 
Ultima modifica:
bhe non farei altro che inserire questa funzione che ho scritto qui.
Per l'altro caso un esempio generico non mi viene , il concetto è che devi gestirti una vvariabile che memorizza la spesa una che memorizza la vincita e poi ricavare il guadagno.
ciao
 
Ok Luigi, non è un problema le variabili le ho già fatte, sicuramente le tue sarebbere state molto + semplificative.
Comunque grazie sempre per le dritte il verifica esito e sorte di interruzione funziona anche cosi come sopra.

Ciao chiusa così

Mike
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35

Ultimi Messaggi

Indietro
Alto