Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - kiwisucks

#1
Programación Visual Basic / Ayuda con juego
20 Octubre 2008, 22:53 PM
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
#2
Programación Visual Basic / ayuda con formulario
26 Septiembre 2008, 22:01 PM
ola a todos

bueno les cuento, toy tudiando tecnico en computacion e informatica y estoy en el ramo de programacion visual. la encontre reentretenida, me paso horas en un trabajo que me dieron, que e shacer un juego de cartas en dos modalidades, y estoy aproblemado con el codigo se podria decir, pondre una foto del juego para que les pueda explicar mejor de que se trata:

http://img518.imageshack.us/my.php?image=dibujovd4.jpg

el juego consiste en que la persona colo un valor asta 250 ( eso no lo he validado aun :S, me urge mas lo otro) , en donde ese valor tiene que aproximarse lo mas posible al de arriva que tiene como maximo 250 ( Carta = Val(Int(Rnd * 250) + 1)), luego ambos numeros se restan y la diferencia se le resta al puntaje global de abajo, la gracia es que al final la persona quede con el mayor puntaje posible.

el problema que se me suscito fue que en algunas jugadas el puntaje de abajo se me suma. por ej: despues de la primera jugada el puntaje global quedo en 860 y despues juego en la segunda y me puee aparecer 960, sumandome la 2º jugada.

Objetos

las cartas se llaman: txCarta1, txCarta2, txCarta3, txCarta4.
los texbox se llaman: txValor1, txValor2, txValor3, txValor4.

declaraciones:

Dim Carta As Integer
Dim Carta1 As Integer
Dim Carta2 As Integer
Dim Carta3 As Integer
Dim Puntaje As Integer
Dim Resultado As Integer

* al principio declare 1 sola ( carta) pero pense que si declaraba varias podria funcionar

codigo de btJugar1

Private Sub btJugar1_Click(Index As Integer)
Randomize
Carta = Val(Int(Rnd * 250) + 1)
txCarta1.Text = Carta
txCarta1.Visible = True
btJuego1.BackColor = &HFFC0C0
Resultado = Carta - txValor1.Text
If Resultado < 0 Then
Resultado = Resultado * -1
Puntaje = Puntaje - Resultado
lbScore.Caption = Puntaje
'lbScore.Caption = Puntaje - Resultado
Else
lbScore.Caption = Puntaje - Resultado

End If

txValor1.Enabled = False

End Sub


Codigo btJugar2

Private Sub btJugar2_Click(Index As Integer)
Randomize
Carta1 = Val(Int(Rnd * 250) + 1)
txCarta2.Text = Carta1
txCarta2.Visible = True
btJuego2.BackColor = &HFFC0C0
Resultado = Carta1 - txValor2.Text
If Resultado < 0 Then
Resultado = Resultado * -1
punntaje = Puntaje - Resultado
'lbScore.Caption = Puntaje - Resultado
lbScore.Caption = Puntaje
Else
lbScore.Caption = Puntaje - Resultado
End If
txValor2.Enabled = False

End Sub

Codigo btJugar3

Private Sub btJugar3_Click(Index As Integer)
Randomize
Carta2 = Val(Int(Rnd * 250) + 1)
txCarta3.Text = Carta2
txCarta3.Visible = True
btJuego3.BackColor = &HFFC0C0
Resultado = Carta2 - txValor3.Text
If Resultado < 0 Then
Resultado = Resultado * -1
Puntaje = Puntaje - Resultado
lbScore.Caption = Puntaje
'lbScore.Caption = Puntaje - Resultado
Else
lbScore.Caption = Puntaje - Resultado
End If
txValor3.Enabled = False

End Sub


Codigo btJugar4

Private Sub btJugar4_Click(Index As Integer)
Randomize
Carta3 = Val(Int(Rnd * 250) + 1)
txCarta4.Text = Carta3
txCarta4.Visible = True
btJuego4.BackColor = &HFFC0C0
Resultado = Carta3 - txValor4.Text
If Resultado < 0 Then
Resultado = Resultado * -1
Puntaje = Puntaje - Resultado
lbScore.Caption = Puntaje
'lbScore.Caption = Puntaje - Resultado
Else
lbScore.Caption = Puntaje - Resultado
End If
txValor4.Enabled = False

End Sub


esop serian, disculpen lo extenso, pero creo que si dejo todo detallado, sera mas facil que me puedan ayudar.
de antemano muchas gracias y disculpen lo malito del diseño, eske soy nuevo en esto de la programacion en general.

saludos