Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - funzione random, come generare numeri casuali ma non uguali
Forum - Visual Basic 6 - funzione random, come generare numeri casuali ma non uguali

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 16:05
Lunedì, 17/08/2009
c'è un modo di generare 5 numeri casuali (da 0 a 20) ma non uguali?

mi stò scervellando!:noway::hail:

PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 16:44
Lunedì, 17/08/2009
Scritto al volo...

Codice sorgente - presumibilmente VB.NET

  1. Private Sub cmdGenera_Click()
  2.  
  3. Dim a As Integer
  4. Dim b As Integer
  5. Dim c As Integer
  6. Dim d As Integer
  7. Dim e As Integer
  8.    
  9.    Randomize Timer
  10.  
  11.  a = Int(Rnd * 21)
  12.   b = Int(Rnd * 21)
  13.    c = Int(Rnd * 21)
  14.   d = Int(Rnd * 21)
  15.  e = Int(Rnd * 21)
  16.  
  17.   Text1 = a & " - " & b & " - " & c & " - " & d & " - " & e
  18.  
  19.  
  20. End Sub




Questo è il succo,poi sta a te modificarlo come meglio credi.

Ciao

Ultima modifica effettuata da fusebyte il 17/08/2009 alle 17:42
PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 17:37
Lunedì, 17/08/2009
guarda ke anke così genera numeri uguali :grr:

PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 17:42
Lunedì, 17/08/2009
Vale a dire?

Se non vuoi che 2 numeri 10 appaiano nella stessa uscita,con degli IF THEN risolvi.
Li hai tutto per poterci lavorare.


Ultima modifica effettuata da fusebyte il 17/08/2009 alle 17:44
PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 17:51
Lunedì, 17/08/2009
troppo banale, pensavo di utilizzare una array o un cliclo (con funzione!):nono::doubt:


pensa se volessi fare un gioco di carte...

Ultima modifica effettuata da Raffa50 il 17/08/2009 alle 18:07
PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 18:28
Lunedì, 17/08/2009
Codice sorgente - presumibilmente Delphi

  1. If a = b Or c Or d Or e Then
  2. a = Int(Rnd * 21)
  3. End If



Si ,certo ma te hai detto di voler lavorare su 5 numeri solamente.

E' normale se indicizzi e lavori con array il codice è di
livello superiore.

Ma partendo da quella base ci vuole poco ad indicizzare.

Ciao

Ultima modifica effettuata da fusebyte il 17/08/2009 alle 18:28
PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 18:42
Lunedì, 17/08/2009
ok mettiamo caso ke volgio lavorare con circa 52 numeri

xkè voglio creare un gioco di carte...

come la mettiamo???:alert:

PM Quote
Avatar
fusebyte (Normal User)
Expert


Messaggi: 332
Iscritto: 24/12/2008

Segnala al moderatore
Postato alle 19:04
Lunedì, 17/08/2009
    
Codice sorgente - presumibilmente VB.NET

  1. Function Random(nByteString)
  2. Randomize Timer
  3.  For i = 1 To nByteString
  4.         tmp = tmp & (Int(Rnd * 100)) & " "'<- imposta valore                        
  5.       Next                                'gioco es:Lotto 90
  6.  Random = (tmp)
  7.  
  8. End Function




Nella sub mettici

es:
Codice sorgente - presumibilmente Plain Text

  1. label1 = random(52)

per il tuo gioco di carte,

Ora te l 'ho indicizzato(anche se avevi chiesto 5 numeri),
pero' devi mettergli sempre il controllo
sulle uscite doppie,ma penso non sia un grosso problema questo.

Ciao

Ultima modifica effettuata da fusebyte il 17/08/2009 alle 19:06
PM Quote
Avatar
Raffa50 (Normal User)
Pro


Messaggi: 68
Iscritto: 07/12/2008

Segnala al moderatore
Postato alle 16:32
Martedì, 18/08/2009
ah no!

era proprio questo il problema: mika posso mettere 52 If !!!

bisognerebbe creare un array con le 52 carte e fare in modo ke le distribuisca (no numeri doppi):idea:

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo