El Random no es tan Random.

Iniciado por Freeze., 13 Septiembre 2008, 17:08 PM

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

Freeze.

Bueno, compruebenlo ustedes mismos. Ya se que no es un secreto pero aca lo dejo:
Código (vb) [Seleccionar]
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 1000
    Picture1.PSet (Random(5000), Random(3000))
    Picture1.ForeColor = RGB(Random(255), Random(255), Random(255))
    Picture1.DrawWidth = Random(10)
Next i
End Sub
Function Random(Max As Long)
Randomize Rnd
Tmp = Int((Max - 1 + 1) * Rnd) + 1
Random = Tmp
End Function

el_c0c0

#1
.
'-     coco
"Te voy a romper el orto"- Las hemorroides

Freeze.

#2
La idea es que se vea que siempre se repite y siempre es lo mismo, pinta en los mismos lugares una y otra vez :P

Eso es lo malo de aprender dogmas. Siempre he creido que hay que poner Randomize Rnd. :P

saludos ;D :-[ :-[ :-[ :-[ :xD

LeandroA

hola prova asi

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Randomize Timer
For i = 0 To 1000
    Picture1.PSet (Random(5000), Random(3000))
    Picture1.ForeColor = RGB(Random(255), Random(255), Random(255))
    Picture1.DrawWidth = Random(10)
Next i
End Sub
Function Random(Max As Long) As Integer
    Random = Int((Max - 1 + 1) * Rnd) + 1
End Function


osea llamar Randomize Timer de entrada

Freeze.

Cita de: Freeze. en 13 Septiembre 2008, 18:54 PM
Eso es lo malo de aprender dogmas. Siempre he creido que hay que poner Randomize Rnd. :P

saludos ;D :-[ :-[ :-[ :-[ :xD

:P :P

De todas maneras no es para un programa. ;D

Aunque ya que estan aca, quisiera saber cual sera la verdadera funcion Random. :xD Es que he buscado pero nada :P

rob1104

En vez de poner Randomize Rnd deja solo Randomize, asi ya pinta siempre diferente.
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

cobein

mmm yo no soy un experto en esto pero cuando pones Randomize le seteas el ceed y siendo que es una funcion matematica imagino que vas a tener resultados iguales, si queres algo que sea relativamente bueno busca "Mersenne twister" u otra cosa que genere valores pseudoelatorios o algun entropy collector.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

JineteNegro666

#7
Si quieres generar un número realmente aleatorio deberías de probar esto:



Private Sub Loquesea()
Randomize
numeroaleatorio = Int((10 * Rnd) + 1)


Con esto generas un número aleatorio entre 1 y 10, aunque ahora que pienso creo que en realidad era una especie de queja no? xD
Then I saw theres was a way to Hell, even from the gates of Heaven...