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
 

joe

Advanced Member >PLATINUM PLUS<
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:

Xeroxs

Advanced Member >PLATINUM<
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.
 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

joe

Advanced Member >PLATINUM PLUS<
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:

Xeroxs

Advanced Member >PLATINUM<
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...
 

joe

Advanced Member >PLATINUM PLUS<
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:

joe

Advanced Member >PLATINUM PLUS<
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:

Xeroxs

Advanced Member >PLATINUM<
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
    venerdì 26 aprile 2024
    Bari
    65
    67
    84
    22
    77
    Cagliari
    38
    09
    83
    18
    20
    Firenze
    76
    24
    78
    30
    40
    Genova
    50
    56
    61
    90
    57
    Milano
    87
    21
    15
    12
    79
    Napoli
    13
    66
    86
    25
    49
    Palermo
    72
    60
    68
    74
    09
    Roma
    23
    15
    43
    07
    75
    Torino
    82
    79
    31
    41
    64
    Venezia
    66
    89
    18
    80
    41
    Nazionale
    04
    24
    10
    69
    73
    Estrazione Simbolotto
    Genova
    33
    03
    16
    35
    32

Ultimi Messaggi

Alto