Novità

Condizione Unica

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti

Ho preparato un piccolo script che rileva i numeri isotopi e creato gioco per ambata, avrei bisogno di apporre una modifica purtroppo non alla mia portata, ovvero ricercare le sole uniche condizioni presenti in una estrazione come ad esempio ieri sera il 34 su Cagliari e Palermo oppure il 3 settembre il 56 su Bari e Palermo, dalla ricerca ho volutamente escludere la Ruota Nazionale.

Qualcuno può aiutarmi, in quanto vorrei applicare questo tipo di ricerca anche ad altre soluzioni per ridurre condizioni per trovare alternative diiverse.

Grazie come sempre

Questo è lo script

Codice:
Sub Main()
   Dim amb(2),posta(1),ruote(10)
   Dim clp,A,B,n1,n2
   posta(1) = 1
   ini = CInt(InputBox("Iiizio?",,9780))
   clp = CInt(InputBox("Colpi di Gioco?",,9))
   fin = EstrazioneFin
   For es = ini To fin
     For r1 = 1 To 10
       For r2 = r1 + 1 To 11
        For Pos = 1 To 5
            n1 = Estratto(es,r1,Pos)
            n2 = Estratto(es,r2,Pos)
            If n2 = n1 Then ' isotopi uguali
               A = DiametraleD(n1)
               B = Diametrale(n1)
               ruote(1) = r1
               ruote(2) = r2
               conta = conta + 1:Scrivi String(90,"=") & " Caso n°" & Format2(conta),1
               Scrivi DataEstrazione(es) & "  " & SiglaRuota(r1) & "  " & StringaEstratti(es,r1) & "  " & Format2(n1) & " in " & Pos & "°Posizione",1
               Scrivi DataEstrazione(es) & "  " & SiglaRuota(r2) & "  " & StringaEstratti(es,r2) & "  " & Format2(n2) & " in " & Pos & "°Posizione",1
               amb(1) = A
               amb(2) = B
               ImpostaGiocata 1,amb,ruote,posta,clp,2
               Gioca es
            End If
        Next
       Next
     Next
   Next
   Scrivi
   ScriviResoconto
End Sub
 
Ciao Xeroxs,

nello script ci sono errori sia per il limite di r1 (che deve essere 9)

che per r2 (che deve essere 10).

Poi usi TROPPE VARIABILI (per contenere 2 numeri)

r1 / r2 / n1 / n2 sono "nomi" che si confondono con r(1) / r(2) ... n(1) / n(2).

Meglio distinguerli meglio.

LuigiB consiglia di anteporre a per gli array / n per i numeri / s per le stringhe ...

davanti al nome della variabile.

Perché così giustamente si sa "con cosa" si ha a "che fare" e "come trattarlo".

Se sono variabili diverse meglio abbiano nomi diversi. A,B, ....N,M ... P...

Se invece sono degli array allora è meglio siano n(1) / n(2) / n(3) ... r(1) / r(2) / r(3).

Questa seconda cosa, non è un errore. Tanto meno, è grave.

Ma se lo script è complesso e le variabili sono molte ...

3 volte molte ... fa si che le cose si confondano oltre il necessario.

Terzo non si capisce cosa voglia dire unica. Cioè:

Cioè se il numero isotopo deve essere presente solo nelle 2 ruote.

Se non ci devono essere altri numeri isotopi.

Oppure ancora una una sovrapposizione di queste due cose ...

Oppure altro ancora.

:)
 
Ultima modifica:
Ciao, Joe, grazie come sempre per i consigli,
Per condizione unica intendo come ad esempio ieri sera 34 isotopi su Cagliari e Palermo unico numero isotopo sul quadro estrazionale, cioè non ci devono essere altri numeri uguali isotopi. Considero poi per il calcolo le due ruote coinvolte dall'isotopia.
 
Per sommi capi e per esempio ...

... potresti contare tutti gli eventuali pronostici presenti.

Se ce ne è uno (solo) lo giochi altrimenti no.

E' anche una buona norma per selezionare le giocate.

Perché moltissimi metodi (quasi tutti) hanno script sbagliati.

Cioè giocano solo l'ultimo dei molti casi.

:)
 
37hcx.jpg


Come vedi (ed è ben visibile se lo script è indentato)

Es ... di "Gioca es" è disallineato da "Es" con cui si controlla il ciclo For-Next.

:)
 
Così come è scritto ...

lo script potrebbe essere simile ad una scommessa da vincere facile-facile.

Del tipo:

"Se ne in un cestino c'è una mela me la mangio ... e vinco".

Ma se il mio avversario mi mette li 10 cestini ed in ognuno c'è una mela da mezzo chilo?

Cioè, se testo un metodo ... solo alla "voglio io" cosa può succedere della mia scommessa ?

Comunque sia, ho corretto alcune cose ... ed iniziato il debug dello script.

Modificato, è questo:

Codice:
Option Explicit
Sub Main()
  Dim Ini,Fin,Es,R1,R2,Pos,Conta,ContaGiocate
  Dim amb(2),posta(1),ruote(10)
  Dim clp,A,B,n1,n2
  posta(1) = 1
  Ini = CInt(InputBox("Iiizio?",,9780))
  clp = CInt(InputBox("Colpi di Gioco?",,9))
  Fin = EstrazioneFin
  For Es = 9810 To 9810
    ContaGiocate = 0
    For R1 = 1 To 9
      For R2 = R1 + 1 To 10
        For Pos = 1 To 5
          n1 = Estratto(Es,R1,Pos)
          n2 = Estratto(Es,R2,Pos)
          If n2 = n1 Then ' isotopi uguali
            ContaGiocate = ContaGiocate + 1
            A = DiametraleD(n1)
            B = Diametrale(n1)
            ruote(1) = R1
            ruote(2) = R2
            Conta = Conta + 1:Scrivi String(90,"=") & " Caso n°" & Format2(Conta),1
            Scrivi DataEstrazione(Es) & "  " & SiglaRuota(R1) & "  " & StringaEstratti(Es,R1) & "  " & Format2(n1) & " in " & Pos & "° Posizione",1
            Scrivi DataEstrazione(Es) & "  " & SiglaRuota(R2) & "  " & StringaEstratti(Es,R2) & "  " & Format2(n2) & " in " & Pos & "° Posizione",1
            amb(1) = A
            amb(2) = B
            ImpostaGiocata 1,amb,ruote,posta,clp,2
            If ContaGiocate > 0 Then
              ColoreTesto 2 : Scrivi String(88,"=") & " Ci sono " & ContaGiocate & " giocate",True : ColoreTesto 0
            End If
            Gioca Es
          End If
        Next
      Next
    Next
  Next
  Scrivi
  ScriviResoconto
End Sub

Come vedi è bloccato ad una estrazione ed in questa trova ben 5 casi da giocare.

Sono come i 5 cestini di cui sopra.

Con questo, come sai ed è evidente che non si può utilizzare "if n1 = n2" per contare i pronostici.

Perché a questo livello di indentazione i pronostici sono tutti validi.

Cioè se presi "uno ad uno" sono "unici" ed andrebbero tutti bene.

:)
 
Ultima modifica:
Ciao, Joe,
Grazie, concordo con Te su quanto dici, e so bene che a volte scartare alcune soluzioni o ipotesi, possono sempre andare bene o male in base alla fortuna.

Ieri quando sono andato a giocare il mio modo di vedere era diverso dai miei amici, il mio si basava su una statistica e metodi convergenti e quando ognuno di Noi ha giocato, ognuno lo ha fatto in maniera diversa... 2 convergenze portavano sulla Nazionale e Cagliari il 50 un e l'altra il 51 che fare io ho giocato anche l'ambetto ed ho preso entrambe le soluzioni, mentre gli altri nulla per le scelte fatte.... Io cerco anche soluzioni diverse in quanto a volte nel quadro estrazionale senza pensar male vedo cose che non mi tornano da un punto di vista puramente statistico.

Certo scegliere le condizioni come nel tuo esempio diventa difficile, ecco perchè punto a trovare condizioni uniche per testare una possibile unicità dai suoi esiti...

come quando alcuni amici mi chiedono di elaborare un sommativo, credendo perchè sono pubblicati con esiti fantastici che possa durare in eterno, e dire che c'e gente che li vende, e grazie a questo programma o modo di testare i loro esiti reali, certo sempre frutto del passato e non del futuro...
 
Ok ...

Il metodo è semplice e la richiesta è esaudibile.

Perciò introducendo la seconda modifica ...

quanto hai chiesto è già praticamente realizzato.

Come anticipato e come indicato all'immagine che ho inserito qualche messaggio #5,

ho spostato Gioca in funzione di "Es" sulla stessa lineal di indentazione del primo

For-Next controllato da "Es".

Facendo cioè si, che per ogni "Es" ... ci sia UN solo Gioca Es.

Poi ho subordinato Gioca es

alla condizione che ci sia ANCHE UN CASO SINGOLO (in questa singola Estrazione) .

Le linee blu separano una estrazione dall'altra.

Sono "una" per ogni data di estrazione.

L'output di questo script dovrà essere ripulito ma per poter controllare è meglio che sia tutto a vista.

Poi, si possono spostare anche le altre linee di output, come quelle in cui si evidenzia il pronostico,

e cancellare quelle ... che risulteranno inutili.

Codice:
Option Explicit
Sub Main()
  Dim Ini,Fin,Es,R1,R2,Pos,Conta,Singoli
  Dim amb(2),posta(1),ruote(10)
  Dim clp,A,B,n1,n2
  posta(1) = 1
  Ini = CInt(InputBox("Inizio?",,9780))
  clp = CInt(InputBox("Colpi di Gioco?",,7))
  Fin = EstrazioneFin
  For Es = Ini To Fin
    Singoli = 0
    For R1 = 1 To 9
      For R2 = R1 + 1 To 10
        For Pos = 1 To 5
          n1 = Estratto(Es,R1,Pos)
          n2 = Estratto(Es,R2,Pos)
          If n2 = n1 Then ' isotopi uguali
            Singoli = Singoli + 1
            A = DiametraleD(n1)
            B = Diametrale(n1)
            ruote(1) = R1
            ruote(2) = R2
            Conta = Conta + 1: Scrivi String(90,"=") & " Caso n°" & Format2(Conta),1
            Scrivi DataEstrazione(Es) & "  " & SiglaRuota(R1) & "  " & StringaEstratti(Es,R1) & "  " & Format2(n1) & " in " & Pos & "° Posizione",1
            Scrivi DataEstrazione(Es) & "  " & SiglaRuota(R2) & "  " & StringaEstratti(Es,R2) & "  " & Format2(n2) & " in " & Pos & "° Posizione",1
            amb(1) = A
            amb(2) = B
            ImpostaGiocata 1,amb,ruote,posta,clp,2
          End If
        Next
      Next
    Next
    If Singoli = 1 Then
      ColoreTesto 2 : Scrivi String(88,"=") & " C'è solo " & Singoli & " caso",True : ColoreTesto 0
      Gioca Es
    End If
    ColoreTesto 1 : Scrivi String(120,"="),True: ColoreTesto 0
  Next
  Scrivi
  ScriviResoconto
End Sub

:)
 
Ultima modifica:
Come anticipato ...

lo script ripulito delle istruzioni di debug e di controllo

e che soddisfa la richiesta di porre in gioco il caso singolo

potrebbe essere più o meno così:

Codice:
Option Explicit
Sub Main()
  Dim Ini,Fin,Es,R1,R2,Pos,Conta,Singoli
  Dim amb(2),posta(1),ruote(2)
  Dim clp,n1,n2
  Dim P,Q
  posta(1) = 1
  Ini = CInt(InputBox("Inizio?",,9780))
  clp = CInt(InputBox("Colpi di Gioco?",,9))
  Fin = EstrazioneFin
  For Es = Ini To Fin
    Singoli = 0
    For R1 = 1 To 9
      For R2 = R1 + 1 To 10
        For Pos = 1 To 5
          n1 = Estratto(Es,R1,Pos)
          n2 = Estratto(Es,R2,Pos)
          If n2 = n1 Then ' isotopi uguali
            Singoli = Singoli + 1
            'Conta = Conta + 1: Scrivi String(90,"=") & " Caso n°" & Format2(Conta),1
            P = DataEstrazione(Es) & "  " & SiglaRuota(R1) & "  " & StringaEstratti(Es,R1) & "  " & Format2(n1) & " in " & Pos & "° Posizione"
            Q = DataEstrazione(Es) & "  " & SiglaRuota(R2) & "  " & StringaEstratti(Es,R2) & "  " & Format2(n2) & " in " & Pos & "° Posizione"
            'A = DiametraleD(n1)
            'B = Diametrale(n1)
            amb(1) = DiametraleD(n1)'ex A
            amb(2) = Diametrale (n1)'ex B
            ruote(1) = R1
            ruote(2) = R2
            ImpostaGiocata 1,amb,ruote,posta,clp,2
          End If
        Next
      Next
    Next
    If Singoli = 1 Then
      'ColoreTesto 2 : Scrivi String(88,"=") & " C'è solo " & Singoli & " caso",True : ColoreTesto 0
      Conta = Conta + 1: Scrivi String(95,"=") & " Caso n°" & FormatSpace (Conta,3,True),1 'Era Format2
      Scrivi P,1
      Scrivi Q,1
      Gioca Es
    End If
    'ColoreTesto 1 : Scrivi String(120,"="),True: ColoreTesto 0
  Next
  Scrivi
  ScriviResoconto
End Sub

Ho lasciato remmate le linee che ho spostato ed una traccia a commento delle ultime modifiche.

:)
 
Ultima modifica:
Ciao Joe,
Che Dire hai la capacità di "vedere oltre", non solo trovi la soluzione ma offri e la completi con idee che completano in modo esaustivo l'idea base, ottima a mio parere la visuale delle altre condizioni presenti così si ha la visione globale delle ricerche fatte.
Grazie per i consigli e le tue osservazioni ne farò buon uso.
Grazie per la soluzione proposta diversa e forse migliore di quanto io stesso potevo immaginare nella visuale di riscontri.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 24 gennaio 2026
    Bari
    26
    24
    81
    30
    32
    Cagliari
    84
    81
    48
    08
    49
    Firenze
    64
    30
    70
    12
    89
    Genova
    76
    71
    63
    88
    27
    Milano
    01
    28
    09
    06
    90
    Napoli
    74
    26
    50
    76
    24
    Palermo
    09
    75
    88
    65
    13
    Roma
    66
    13
    21
    65
    73
    Torino
    78
    02
    90
    51
    16
    Venezia
    23
    55
    60
    47
    17
    Nazionale
    14
    70
    74
    68
    20
    Estrazione Simbolotto
    Bari
    09
    18
    15
    38
    39
Indietro
Alto