Ayuda con juego

Iniciado por kiwisucks, 20 Octubre 2008, 22:53 PM

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

kiwisucks

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

WestOn

En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

kiwisucks

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

Spider-Net

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!

kiwisucks

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