ola de nuevo, disculpen las molestias pero me han encomendado otra tarea, y toy corto de conocimientos. me encomendaron un BINGO ( aka en chile le decimos BINGO, pero con la imagen sabran de que se trata) y pensando antes de tirarme a hacerlo, se me vino altiro una complicacion que tendria, la cual es que tengo que hacer el mismo random en todas las casillas : EJ: en la columna B tengo que hacer int (rnd*15)+1 y el problema de esto es que se me pueden repetir numeros = en varias casillas, he intentado validarlas o hacer comparaciones mediante bucles o instrucciones iterativas que segun yo el codigo que llevo hasta aora me debiera servir y no debiesen repetirse numeros.
acontinuacion coloco la imagen del formulario
http://img73.imageshack.us/my.php?image=bingolh8.jpg
desde el boton "Empezar", se ejecutan los random y las validacion que hice.
el codigo es el siguiente:
Private Sub btEmepzar_Click()
Randomize
lbNumero1.Caption = Int(Rnd * 15) + 1
lbNumero2.Caption = Int(Rnd * 15) + 1
If Val(lbNumero1.Caption) = Val(lbNumero2.Caption) Then
Do While Val(lbNumero1.Caption) = Val(lbNumero2.Caption)
lbNumero2.Caption = Int(Rnd * 15) + 1
Loop
End If
Randomize
lbNumero3.Caption = Int(Rnd * 15) + 1
If Val(lbNumero3.Caption) = Val(lbNumero2.Caption) And Val(lbNumero3.Caption) = Val(lbNumero1) Then
Do While Val(lbNumero3.Caption) = Val(lbNumero2.Caption) And Val(lbNumero3.Caption) = Val(lbNumero1.Caption)
lbNumero3.Caption = Int(Rnd * 15) + 1
Loop
End If
Randomize
lbNumero4.Caption = Int(Rnd * 15) + 1
If Val(lbNumero4.Caption) = Val(lbNumero3.Caption) Then
Do While Val(lbNumero4.Caption) = Val(lbNumero3.Caption)
lbNumero4.Caption = Int(Rnd * 15) + 1
Loop
End If
If Val(lbNumero4.Caption) = Val(lbNumero2.Caption) Then
Do While Val(lbNumero4.Caption) = Val(lbNumero2.Caption)
lbNumero4.Caption = Int(Rnd * 15) + 1
Loop
End If
If Val(lbNumero4.Caption) = Val(lbNumero1.Caption) Then
Do While Val(lbNumero4.Caption) = Val(lbNumero1.Caption)
lbNumero4.Caption = Int(Rnd * 15) + 1
Loop
End If
Randomize
lbNumero5.Caption = Int(Rnd * 15) + 1
If Val(lbNumero5.Caption) = Val(lbNumero4.Caption) Then
Do While Val(lbNumero5.Caption) = Val(lbNumero4.Caption)
lbNumero5.Caption = Int(Rnd * 15) + 1
Loop
End If
If Val(lbNumero5.Caption) = Val(lbNumero3.Caption) Then
Do While Val(lbNumero5.Caption) = Val(lbNumero3.Caption)
lbNumero5.Caption = Int(Rnd * 15) + 1
Loop
End If
If Val(lbNumero5.Caption) = Val(lbNumero2.Caption) Then
Do While Val(lbNumero5.Caption) = Val(lbNumero2.Caption)
lbNumero5.Caption = Int(Rnd * 15) + 1
Loop
End If
If Val(lbNumero5.Caption) = Val(lbNumero1.Caption) Then
Do While Val(lbNumero5.Caption) = Val(lbNumero1.Caption)
lbNumero5.Caption = Int(Rnd * 15) + 1
Loop
End If
como estoy probando, solo hice asta el lbnumero5, que es la ultima casilla de la columna B.
el problema, bueno ya lo plantee, se me repiten numeros en distintas casillas.
si pueden ayudarme porfavor =), que quero ir puliendo desde un principio el juego y esto me tiene atascado.
de ante mano muchas gracias
saludos
Wenas, mira este enlace:http://foro.elhacker.net/programacion_vb/generador_de_cartas-t232129.0.html (http://foro.elhacker.net/programacion_vb/generador_de_cartas-t232129.0.html)
un saludo
disculpa, en el psot se me olvido mencionar que habia leido ese enlace xD, pero no entendi muxo =S, por eso de ahi postie =P.
lo revisare nuevamente, muchas gracias
Yo una vez hice un bingo, pero era en C no en VB. Aunque no encuentro el código, lo que hice fue tener un array de dos dimensiones. En una todos los posibles números que podían salir, por ejemplo del 1 al 50. Y en la segunda dimensión del array un 0 si el número no había salido y un 1 cuando ya había salido.
Así generaba números aleatorios con random y comprobaba si el número había salido si la segunda dimensión del array estaba en 1 por lo tanto creaba un bucle que no terminase mientras el valor de la segunda dimensión fuese 1.
Es fácil la idea. Si lo haces así no te será demasiado complicado hacerlo.
Saludos!
mmm, me has dejado repillo =P, lo unico de array ( es arreglo creo , no toy muy seguro) que vi fue en java y no entendi nada. vere bien lo que me planteas, y revisare los tutoriales que tengo para ver algo ams sobre arrays
muchas gracias
saludos