generador de numeros aleatorios en VB

Iniciado por diego994, 19 Noviembre 2003, 17:38 PM

0 Miembros y 1 Visitante están viendo este tema.

diego994

"Efectivo?" generador de números aleatorios en VB6
Bueno, este es un módulo q programe hace mucho para un juego en vb6, intenté jugar con la funcion Rnd sin usar la Randomize. gMaxNum es una variable global que no me acuerdo para q carajo era jejeje, na es el número max que puede devolver la función. Estudienlo q cambiando algunos valores se personaliza. Quizas a alguien le pueda servir.


Public Function intNumeroaleatorio() As Integer
   Dim r As String, s As Integer, t As Integer, seacabo As Boolean
   seacabo = False
   Do While seacabo = False
       r = CStr(Timer)
       s = Len(r)
       t = Mid(r, s, 1)
       intNumeroaleatorio = (t * Int(gletras * Rnd))
       r = CStr(intNumeroaleatorio)
       s = Len(r)
       t = Mid(r, s, 1)
       intNumeroaleatorio = t
       If intNumeroaleatorio >= 0 And intNumeroaleatorio < gMaxNum Then
           seacabo = True
       End If
   Loop
End Function

Xrasl

Hola e mirado el source que aparece arriba, pero no consigo hacerlo funcionar. si no seria mucho pedir ¿pueden explicarme como se puede hacer funcionar, yo hice un codigo que creaba numeros aleatorios pero solo me respondia con 1s y 0s, es el siguiente:

Private Sub Command1_Click()
Dim Num As Byte
  Randomize
  Num = Rnd
  Text1.Text = Num
End Sub


Yo quiero que me consiga numeros enteros entre 0 y 255, por lo que utilizé la variable byte, pero no se cual es el error que cometi.
Espero k me respondan Gracias :)

MMara

#2
si miras en la ayuda, te dice que rnd te da valores entre 0 y 1, así que lo que tienes que hacer es:
Int((Límite_superior - límite_inferior + 1) * Rnd + límite_inferior)

Lo he probado y funciona:
Private Sub Command1_Click()
    Dim Num As Byte
    Num = Int(255 - 1) * Rnd + 0
    Text1.Text = Num
End Sub

Un saludo!

Xrasl

Ok muchas gracias.
MMara una duda sobre la ayuda. Yo le doy al boton d la ayuda y me pide que instale la "coleccion MSDN". Eso que es un programa de ayuda o algo asi?  :P
Graciassss ;)

el_chente23

La Coleccion MSDN (Microsoft Developer Network), Es La Ayuda Tipo CHM de Visual Studio 6.0, Esta ayuda Son 2 Discos, Por Lo Menos Esos Son Los Que Tengo Yo.  ;)


Villamil

Yo para hacer números aleatorios hago:

Rnd =((Int*el número máximo)-1

Mad Antrax

Yo para hacer numeros aleatorios uso:
Num = Int((Rnd * numero maximo)+1)
(esto me muestra un numero entre el: 1 al numero maximo

o si no:
Num = Int(Rnd * numero maximo)
(esto me muestra un numero entre el: 0 al numero maximo - 1
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

bluedog

Cita de: el_chente23 en 22 Junio 2004, 05:57 AM
La Coleccion MSDN (Microsoft Developer Network), Es La Ayuda Tipo CHM de Visual Studio 6.0, Esta ayuda Son 2 Discos, Por Lo Menos Esos Son Los Que Tengo Yo.  ;)


>>Ya y por si acaso, no sabes donde se podrían bajar esos discos? o simplemente hay que comprarselos a Microsoft?

bluedog

#8
>>Ya pues hombre! contesteis la questions o nadie sabe?
cout<<"todo se puede aprender en esta vida"<<bluedog

musky

La verdad es que el codigo que postea diego994 es totalmente descartable. Ya que el Visual Basic 6 cuenta con un algoritmo interno lo cual fue optimizado para lograr un mejor desempeño en las aplicaciones.

Se utiliza
Randomize para que el Rnd sea <> al anterior.
Rnd Genera un numero entre 0.001 y 0.999.
Int Toma la parte entera redondeando para arriva

espero que les quede claro todo adios


Nombre: Jonathan Ariel Muszkat
Escuela: Ort Yatay
Edad: 15
Detalles: mmm Programador (cualquier lenguaje), Diseñador(Photoshop, Freehand, Firework), Animador(Flash, + actionscript 2.0)
Gustos: Autos, Rubias, Dance, Bailar punch